SlideShare a Scribd company logo
1
COMP 3500
Introduction to Operating Systems
Project 2 – An Introduction to OS/161
Details
Dr. Xiao Qin
Auburn University
http://www.eng.auburn.edu/~xqin
xqin@auburn.edu
2
Did you carry out project 1 ?
Exercise 1 (Plickers) 
What is the yum command ?
A. A configuration software tool
B. A troubleshooting software tool
C. An automated uninstallation program
D. An automated update program
Exercise 2 (Plickers) 
In the gdb debugger, typing character ‘n’ means:
A. ‘next’ - Step into the next function.
B. ‘new’ - Set a new breakpoint
C. ‘next’ - Continue to the next source line
D. ‘new’ – Create a new local variable
Exercise 3 (Plickers) 
What does the following command do?
#cvs -d /cs161_cvsroot init
A. Create a CVS root
B. Create a CVS repository
C. Delete a CVS root
D. Delete an initial CVS root
Exercise 4 (Plickers) 
What does the following command do?
%tar vfcz <group_ID>_project1.tgz .
A. Create a single compressed file for project 1
B. Uncompress files for project 1
C. Validate files of project 1
D. Install files of project 1
7
8
Setting up PATH
• If you use bash, add the following line near
the end of the ~/.bashrc file.
export PATH=~/cs161/bin:$PATH
• If you use tcsh, add the following line near the
end of the ~/.cshrc file:
setenv PATH ~/cs161/bin:$PATH
$export PATH=~/cs161/bin:$PATH
Setting up CVSROOT
• If you use bash, add the following line near
the end of the ~/.bashrc file.
export CVSROOT=~/cs161/cvsroot
• If you use tcsh, add the following line near the
end of the ~/.cshrc file:
setenv CVSROOT ~/cs161/cvsroot
%export CVSROOT=~/cs161/cvsroot
Building blocks for OS/161
Before building OS/161 from os161-1.10.tar.gz, you must
first build the following items:
1. tool chain: cs161-binutils-1.4.tar
2. cross compiler: cs161-gcc-1.4.tar
3. special gdb: cs161-gdb-1.4.tar
4. sys161 MIPS emulator: sys161-1.12.tar
The above sequential order is the required order for building!
12
Linux: CentOS
Tool chain: cs161-binutils-1.4.tar
cross compiler: cs161-gcc-1.4.tar special gdb: cs161-gdb-1.4.tar
sys161 MIPS emulator: sys161-1.12.tar
OS/161: os161-1.10.tar.gz
Build a Software Framework for OS/161
13
/cs161
Source Code Tree
/src /root
/kern /include /sys161 (bin)
/conf /compile
ASST0 (file) /ASST0 (dir)
makefile
Build the Tool Chain
%cd ~/cs161
%tar vfxz cs161-binutils-1.4.tar
%cd cs161-binutils-1.4
%./toolbuild.sh
Build the Cross Compiler
%cd ~/cs161
%tar vfxz cs161-gcc-1.4.tar
%cd cs161-gcc-1.4
%./toolbuild.sh
Build the Special gdb
%cd ~/cs161
%tar vfxz cs161-gdb-1.4.tar
%cd cs161-gdb-1.4
%./toolbuild.sh
Build the sys161 Emulator
%cd ~/cs161
%tar vfxz sys161-1.14.tar.gz
%cd sys161-1.14
%./configure mipseb
%make
%make install
A Tool for Code Reading
You must learn how to use “grep” to improve your
source code reading skill.
%grep –r “stack” .
%grep “stack” *.h
Exercise: Code Reading: An Example
2. What bus/busses does OS/161 support?
You must search the source code using the most
appropriate keywords
%cd ~/cs161/src/kern/arch/mips/mips
%grep ‘bus’ *.c
Building a Kernel
You must first configure your source code tree
%cd ~/cs161/src
%./configure
Configure a Kernel for Project 2
You must first configure your source code tree
% cd ~/cs161/src/kern/conf
% ./config ASST0
Building the Kernel for Project 2
The path of your makefile for project 2 is important
%cd ~/cs161/src/kern/compile/ASST0
%make depend
%make
%make install
Building the User level utilities
• Remember the path of the makefile
%cd ~/cs161/src
%make
• Now you are ready to run your kernel …
Running your newly built kernel
• Remember where is your new kernel located
%cd ~/cs161/root
%./sys161 kernel
• At the prompt, type
p /sbin/poweroff <return>
25

More Related Content

PDF
Project 2 how to install and compile os161
PDF
Project 2 How to modify os161: A Manual
PPTX
Project 2 how to modify OS/161
PPTX
Google chrome os (perfect version)
PDF
Linux basic commands with examples
PPT
Learning sed and awk
PPTX
Software Engineering Practices and Issues.pptx
PPTX
Easiest way to start with Shell scripting
Project 2 how to install and compile os161
Project 2 How to modify os161: A Manual
Project 2 how to modify OS/161
Google chrome os (perfect version)
Linux basic commands with examples
Learning sed and awk
Software Engineering Practices and Issues.pptx
Easiest way to start with Shell scripting

What's hot (20)

PDF
An Introduction to CMake
 
PDF
Shell scripting
PDF
Advanced Git Tutorial
DOCX
Linux final exam
PDF
A Practical Introduction to git
PDF
Shell scripting
PPTX
Introduction to Makefile
PDF
Effective CMake
PDF
Bewährte Praktiken für HCL Notes/Domino-Sicherheit. Teil 2: Der Domino-Server
PDF
Git and git flow
PPTX
Git basics to advance with diagrams
PDF
makefiles tutorial
PDF
Monitoring and Supporting Data Conversion.pdf
PDF
Linux systems - Linux Commands and Shell Scripting
PDF
Quick Guide with Linux Command Line
DOCX
C notes
PDF
Configuration Management in Ansible
PDF
Git 101: Git and GitHub for Beginners
PPTX
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
PPTX
Introduction to c programming language
An Introduction to CMake
 
Shell scripting
Advanced Git Tutorial
Linux final exam
A Practical Introduction to git
Shell scripting
Introduction to Makefile
Effective CMake
Bewährte Praktiken für HCL Notes/Domino-Sicherheit. Teil 2: Der Domino-Server
Git and git flow
Git basics to advance with diagrams
makefiles tutorial
Monitoring and Supporting Data Conversion.pdf
Linux systems - Linux Commands and Shell Scripting
Quick Guide with Linux Command Line
C notes
Configuration Management in Ansible
Git 101: Git and GitHub for Beginners
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Introduction to c programming language
Ad

Viewers also liked (18)

PPTX
How to add system calls to OS/161
PPTX
How to do research?
PPTX
An Active and Hybrid Storage System for Data-intensive Applications
PPTX
IPCCC 2012 Conference Program Overview
PPTX
Energy Efficient Data Storage Systems
PPT
COMP2710 Software Construction: header files
PPTX
OS/161 Overview
PPTX
Reliability Analysis for an Energy-Aware RAID System
PPTX
Nas'12 overview
PPTX
Common grammar mistakes
PPTX
Why Major in Computer Science and Software Engineering at Auburn University?
PPTX
Thermal modeling and management of cluster storage systems xunfei jiang 2014
PPTX
Surviving a group project
PPT
COMP2710: Software Construction - Linked list exercises
PPTX
Data center specific thermal and energy saving techniques
PPTX
Understanding what our customer wants-slideshare
PPTX
Performance Evaluation of Traditional Caching Policies on a Large System with...
PPTX
HDFS-HC2: Analysis of Data Placement Strategy based on Computing Power of Nod...
How to add system calls to OS/161
How to do research?
An Active and Hybrid Storage System for Data-intensive Applications
IPCCC 2012 Conference Program Overview
Energy Efficient Data Storage Systems
COMP2710 Software Construction: header files
OS/161 Overview
Reliability Analysis for an Energy-Aware RAID System
Nas'12 overview
Common grammar mistakes
Why Major in Computer Science and Software Engineering at Auburn University?
Thermal modeling and management of cluster storage systems xunfei jiang 2014
Surviving a group project
COMP2710: Software Construction - Linked list exercises
Data center specific thermal and energy saving techniques
Understanding what our customer wants-slideshare
Performance Evaluation of Traditional Caching Policies on a Large System with...
HDFS-HC2: Analysis of Data Placement Strategy based on Computing Power of Nod...
Ad

Similar to Project 2 - how to compile os161? (20)

PDF
Direction of building ns2 using cygwin under windows system
PPTX
Process (OS),GNU,Introduction to Linux oS
PPT
Linux Booting Process
ODP
Introducing cvm...
DOCX
Monitoring CPU Utilization on LINUX (Shell Script Project)
PDF
Steps to build and run oai
DOCX
Linux or unix interview questions
PPT
PDF
Whats_new_Conan 2_0_MeetingC++7557.pdf
PDF
Introduction to Linux Kernel Development
PPTX
Linux startup
PPTX
C# Production Debugging Made Easy
PPTX
PDF
Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...
PDF
Linux Kernel - Let's Contribute!
PPTX
Linux Systems Programming: Ubuntu Installation and Configuration
PPTX
Formation LPIC-1_SysArch
PDF
UNIX Basics and Cluster Computing
PDF
Activity 5
PDF
Beagleboard xm-setup
Direction of building ns2 using cygwin under windows system
Process (OS),GNU,Introduction to Linux oS
Linux Booting Process
Introducing cvm...
Monitoring CPU Utilization on LINUX (Shell Script Project)
Steps to build and run oai
Linux or unix interview questions
Whats_new_Conan 2_0_MeetingC++7557.pdf
Introduction to Linux Kernel Development
Linux startup
C# Production Debugging Made Easy
Enhanced Embedded Linux Board Support Package Field Upgrade – A Cost Effectiv...
Linux Kernel - Let's Contribute!
Linux Systems Programming: Ubuntu Installation and Configuration
Formation LPIC-1_SysArch
UNIX Basics and Cluster Computing
Activity 5
Beagleboard xm-setup

More from Xiao Qin (9)

PPTX
How to apply for internship positions?
PPTX
How to write research papers? Version 5.0
PDF
Making a competitive nsf career proposal: Part 2 Worksheet
PDF
Making a competitive nsf career proposal: Part 1 Tips
PPTX
Auburn csse faculty orientation
PPTX
Auburn CSSE graduate student orientation
PPTX
CSSE Graduate Programs Committee: Progress Report
PDF
P#1 stream of praise
PPT
Reliability Modeling and Analysis of Energy-Efficient Storage Systems
How to apply for internship positions?
How to write research papers? Version 5.0
Making a competitive nsf career proposal: Part 2 Worksheet
Making a competitive nsf career proposal: Part 1 Tips
Auburn csse faculty orientation
Auburn CSSE graduate student orientation
CSSE Graduate Programs Committee: Progress Report
P#1 stream of praise
Reliability Modeling and Analysis of Energy-Efficient Storage Systems

Recently uploaded (20)

PPTX
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
PDF
Well-logging-methods_new................
PDF
PPT on Performance Review to get promotions
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
web development for engineering and engineering
PPT
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
PPTX
Sustainable Sites - Green Building Construction
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
OOP with Java - Java Introduction (Basics)
PPTX
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
PDF
Automation-in-Manufacturing-Chapter-Introduction.pdf
PPT
Mechanical Engineering MATERIALS Selection
PDF
R24 SURVEYING LAB MANUAL for civil enggi
PPTX
Construction Project Organization Group 2.pptx
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Geodesy 1.pptx...............................................
PPTX
CYBER-CRIMES AND SECURITY A guide to understanding
PDF
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
PDF
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
PPTX
additive manufacturing of ss316l using mig welding
FINAL REVIEW FOR COPD DIANOSIS FOR PULMONARY DISEASE.pptx
Well-logging-methods_new................
PPT on Performance Review to get promotions
UNIT-1 - COAL BASED THERMAL POWER PLANTS
web development for engineering and engineering
CRASH COURSE IN ALTERNATIVE PLUMBING CLASS
Sustainable Sites - Green Building Construction
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
OOP with Java - Java Introduction (Basics)
CARTOGRAPHY AND GEOINFORMATION VISUALIZATION chapter1 NPTE (2).pptx
Automation-in-Manufacturing-Chapter-Introduction.pdf
Mechanical Engineering MATERIALS Selection
R24 SURVEYING LAB MANUAL for civil enggi
Construction Project Organization Group 2.pptx
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Geodesy 1.pptx...............................................
CYBER-CRIMES AND SECURITY A guide to understanding
BMEC211 - INTRODUCTION TO MECHATRONICS-1.pdf
Mitigating Risks through Effective Management for Enhancing Organizational Pe...
additive manufacturing of ss316l using mig welding

Project 2 - how to compile os161?

  • 1. 1 COMP 3500 Introduction to Operating Systems Project 2 – An Introduction to OS/161 Details Dr. Xiao Qin Auburn University http://www.eng.auburn.edu/~xqin xqin@auburn.edu
  • 2. 2 Did you carry out project 1 ?
  • 3. Exercise 1 (Plickers)  What is the yum command ? A. A configuration software tool B. A troubleshooting software tool C. An automated uninstallation program D. An automated update program
  • 4. Exercise 2 (Plickers)  In the gdb debugger, typing character ‘n’ means: A. ‘next’ - Step into the next function. B. ‘new’ - Set a new breakpoint C. ‘next’ - Continue to the next source line D. ‘new’ – Create a new local variable
  • 5. Exercise 3 (Plickers)  What does the following command do? #cvs -d /cs161_cvsroot init A. Create a CVS root B. Create a CVS repository C. Delete a CVS root D. Delete an initial CVS root
  • 6. Exercise 4 (Plickers)  What does the following command do? %tar vfcz <group_ID>_project1.tgz . A. Create a single compressed file for project 1 B. Uncompress files for project 1 C. Validate files of project 1 D. Install files of project 1
  • 7. 7
  • 8. 8
  • 9. Setting up PATH • If you use bash, add the following line near the end of the ~/.bashrc file. export PATH=~/cs161/bin:$PATH • If you use tcsh, add the following line near the end of the ~/.cshrc file: setenv PATH ~/cs161/bin:$PATH $export PATH=~/cs161/bin:$PATH
  • 10. Setting up CVSROOT • If you use bash, add the following line near the end of the ~/.bashrc file. export CVSROOT=~/cs161/cvsroot • If you use tcsh, add the following line near the end of the ~/.cshrc file: setenv CVSROOT ~/cs161/cvsroot %export CVSROOT=~/cs161/cvsroot
  • 11. Building blocks for OS/161 Before building OS/161 from os161-1.10.tar.gz, you must first build the following items: 1. tool chain: cs161-binutils-1.4.tar 2. cross compiler: cs161-gcc-1.4.tar 3. special gdb: cs161-gdb-1.4.tar 4. sys161 MIPS emulator: sys161-1.12.tar The above sequential order is the required order for building!
  • 12. 12 Linux: CentOS Tool chain: cs161-binutils-1.4.tar cross compiler: cs161-gcc-1.4.tar special gdb: cs161-gdb-1.4.tar sys161 MIPS emulator: sys161-1.12.tar OS/161: os161-1.10.tar.gz Build a Software Framework for OS/161
  • 13. 13 /cs161 Source Code Tree /src /root /kern /include /sys161 (bin) /conf /compile ASST0 (file) /ASST0 (dir) makefile
  • 14. Build the Tool Chain %cd ~/cs161 %tar vfxz cs161-binutils-1.4.tar %cd cs161-binutils-1.4 %./toolbuild.sh
  • 15. Build the Cross Compiler %cd ~/cs161 %tar vfxz cs161-gcc-1.4.tar %cd cs161-gcc-1.4 %./toolbuild.sh
  • 16. Build the Special gdb %cd ~/cs161 %tar vfxz cs161-gdb-1.4.tar %cd cs161-gdb-1.4 %./toolbuild.sh
  • 17. Build the sys161 Emulator %cd ~/cs161 %tar vfxz sys161-1.14.tar.gz %cd sys161-1.14 %./configure mipseb %make %make install
  • 18. A Tool for Code Reading You must learn how to use “grep” to improve your source code reading skill. %grep –r “stack” . %grep “stack” *.h
  • 19. Exercise: Code Reading: An Example 2. What bus/busses does OS/161 support? You must search the source code using the most appropriate keywords %cd ~/cs161/src/kern/arch/mips/mips %grep ‘bus’ *.c
  • 20. Building a Kernel You must first configure your source code tree %cd ~/cs161/src %./configure
  • 21. Configure a Kernel for Project 2 You must first configure your source code tree % cd ~/cs161/src/kern/conf % ./config ASST0
  • 22. Building the Kernel for Project 2 The path of your makefile for project 2 is important %cd ~/cs161/src/kern/compile/ASST0 %make depend %make %make install
  • 23. Building the User level utilities • Remember the path of the makefile %cd ~/cs161/src %make • Now you are ready to run your kernel …
  • 24. Running your newly built kernel • Remember where is your new kernel located %cd ~/cs161/root %./sys161 kernel • At the prompt, type p /sbin/poweroff <return>
  • 25. 25