SlideShare a Scribd company logo
1	
  
COMP3500:	
  Project	
  2	
  How	
  to	
  install	
  and	
  compile	
  OS/161?	
  
	
  README	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
After	
  installed	
  VirtualBox	
  on	
  my	
  Windows	
  machine,	
  I	
  installed	
  CentOS	
  6.5	
  on	
  VirtualBox.	
  Next,	
  I	
  
successfully	
  installed	
  cs161-­‐binutils-­‐1.4	
  and	
  cs161-­‐gcc-­‐1.5.tar.	
  Unfortunately,	
  I	
  encountered	
  an	
  
error	
  "configure:	
  error:	
  no	
  termcap	
  library	
  found".	
  As	
  Dustin	
  suggested,	
  installing	
  the	
  missing	
  
package	
  can	
  solve	
  this	
  problem.	
  Please	
  use	
  the	
  following	
  command	
  to	
  install	
  the	
  package:	
  
yum install ncurses-devel
You	
  don't	
  have	
  to	
  install	
  CentOS	
  6.5,	
  because	
  I	
  believe	
  that	
  you	
  can	
  install	
  all	
  the	
  OS161	
  tools	
  on	
  
CentOS	
  7.	
  You	
  don't	
  have	
  to	
  install	
  VirtualBox	
  neither.	
  Nevertheless,	
  if	
  you	
  decide	
  to	
  install	
  
CentOS	
  on	
  VirtualBox,	
  please	
  refer	
  to	
  my	
  installation	
  log	
  below.	
  
1.	
  Download	
  CentOS	
  6.5	
  CD	
  ISO	
  image	
  file	
  
Tested	
  on	
  Windows7	
  http://archive.kernel.org/centos-
vault/6.5/isos/i386/
Tested	
  on	
  McOS http://getintopc.com/softwares/operating-
systems/centos-6-5-free-download/
2.	
  Download	
  VirtualBox	
  
https://www.virtualbox.org/wiki/Downloads
	
  
3.	
  Installation	
  of	
  CentOS	
  in	
  VirtualBox	
  
http://teaching.idallen.com/cst8207/14f/notes/000_centos_virtualb
ox_install.html
	
  
4.	
  Install	
  CentOS	
  
4.1	
  	
  Important!	
  	
  When	
  power	
  on	
  (boot)	
  your	
  virtual	
  machine,	
  you	
  should	
  see	
  the	
  CentOS	
  
installation	
  screen.	
  You	
  must	
  click	
  in	
  the	
  window	
  and	
  use	
  the	
  arrow	
  keys	
  to	
  stop	
  the	
  
Automatic	
  boot.	
  
4.2	
  	
  Important!	
  	
  After	
  the	
  installation	
  is	
  down,	
  please	
  reconfigure	
  the	
  Boot	
  Order.	
  Hard	
  
disk	
  first	
  followed	
  by	
  CD/DVD.	
  
5.	
  Create	
  a	
  user	
  account	
  in	
  CentOS	
  and	
  Login	
  CentOS	
  using	
  your	
  newly	
  created	
  account	
  
	
  
6.	
  Become	
  a	
  root	
  using	
  $su	
  and	
  Install:	
  
# yum -y install gcc
# yum -y install gcc-c++
# yum -y install vim-enhanced
# yum -y install emacs
# yum -y install gdb
# yum -y install ethtool
# yum -y install hdparm
# yum -y install pciutils
# yum -y install file
# yum install ncurses-devel
	
  	
  Important!	
  	
  If	
  you	
  don’t	
  install	
  the	
  ncurses-devel	
  package,	
  you	
  will	
  receive	
  an	
  
error	
  message	
  when	
  you	
  install	
  cs161-gdb-1.5 (see	
  also	
  step	
  10).	
  
	
  
2	
  
7.	
  Download	
  OS161	
  tarballs	
  
7.1	
  Create	
  the	
  cs161 directory	
  in	
  your	
  home	
  directory	
  
7.2	
  Download	
  the	
  following	
  tarballs	
  from	
  Canvas	
  and	
  save	
  them	
  in	
  your	
  cs161	
  directory	
  
	
   cs161-binutils-1.4.tar
cs161-gcc-1.5.tar	
  
	
   cs161-gdb-1.5.tar
sys161-1.14.tar.gz
os161-1.10.tar
8.	
  Install cs161-binutils-1.4	
  
cd cs161
tar vfzx cs161-binutils-1.4.tar
cd cs161-binutils-1.4
./toolbuild.sh
9	
  Build	
  the	
  cross	
  compiler	
  
cd ~/cs161
tar vfxz cs161-gcc-1.5.tar
cd cs161-gcc-1.5
./toolbuild.sh
3	
  
	
  
10.	
  Build	
  the	
  special	
  gdb	
  (works)	
  
cd ~/cs161
tar vfxz cs161-gdb-1.5.tar
cd cs161-gdb-1.5
./toolbuild.sh
Error Message: configure: error: no termcap library found	
  
Install	
  the	
  missing ncurses-devel package:	
  
4	
  
Successfully	
  installed	
  cs161-gdb-1.5
	
  
	
  
11.	
  Build	
  the	
  sys161	
  emulator	
  	
  
cd ~/cs161
tar vfxz sys161-1.14.tar.gz
cd sys161-1.14
./configure mipseb
make
make install
	
  
	
  
12.	
  Install	
  os161
	
   12.1	
  Unpack	
  os161-1.10.tar 	
  
	
   	
  	
  	
  	
  	
  	
  tar xvfz os161-1.10.tar.gz	
  
	
  
12.2	
  Configure	
  your	
  tree	
  for	
  the	
  machine	
  on	
  which	
  you	
  are	
  working.	
  We	
  assume	
  that	
  
you	
  work	
  in	
  the	
  directory ~/cs161.  Please	
  note	
  that	
  if	
  you	
  intend	
  to	
  work	
  in	
  a	
  
directory	
  that's	
  not	
  ~/cs161 (which	
  you	
  will	
  be	
  doing	
  when	
  you	
  test	
  your	
  later	
  
submissions),	
  you	
  will	
  have	
  to	
  use	
  the  –ostree option	
  to	
  specify	
  a	
  directory	
  in	
  which	
  
you	
  are	
  working.  ./configure –help explains	
  the	
  other	
  options.	
  
cd ~/cs161/src
./configure
	
   	
  
	
   12.3	
  Configure	
  a	
  kernel	
  named	
  ASST0.	
  
cd ~/cs161/src/kern/conf
./config ASST0
	
  12.4	
  Build	
  the	
  ASST0	
  kernel.	
  (cs161/src/compile).	
  Use	
  ‘echo $PATH’	
  to	
  check	
  
your	
  $PATH.	
  
5	
  
export PATH=~/cs161/bin:$PATH
cd ../compile/ASST0
make depend
make
	
   12.5	
  Install	
  the	
  ASST0	
  kernel.	
  
% make install
	
   	
  
	
   12.6	
  Now	
  also	
  build	
  the	
  user	
  level	
  utilties.	
  
cd ~/cs161/src
make
13.	
  RUN	
  OS161:	
  Change	
  into	
  your	
  root	
  directory.	
  
%cd ~/cs161/root
Run	
  the	
  machine	
  simulator	
  on	
  your	
  operating	
  system.	
  
%./sys161 kernel
	
  
Important!	
  	
  If	
  you	
  receive	
  the	
  following	
  error	
  message	
  “Sys161: Cannot open
config file sys161.conf”,	
  you	
  should	
  download	
  the	
  file	
  sys161.conf from	
  
Canvas	
  and	
  place	
  it	
  in	
  your	
  OS/161	
  root	
  directory	
  (~/cs161/root).
If	
  you	
  successfully	
  run	
  os161,	
  you	
  will	
  have:	
  
6	
  
	
  
At	
  the	
  prompt,	
  type	
  p /sbin/poweroff <return>. This	
  tells	
  the	
  kernel	
  to	
  run	
  the
"poweroff" program	
  that	
  shuts	
  the	
  system	
  down.	
  
	
  

More Related Content

PPTX
Project 2 how to modify OS/161
PDF
Project 2 How to modify os161: A Manual
PPTX
Project 2 - how to compile os161?
PPTX
Arch linux
PDF
Javascript Exercises
PPTX
Chapter 2 Introduction to Unix Concepts
PDF
Corso Linux
DOCX
Instalación y Configuración de NIS server en Ubuntu server 14.04 lts
Project 2 how to modify OS/161
Project 2 How to modify os161: A Manual
Project 2 - how to compile os161?
Arch linux
Javascript Exercises
Chapter 2 Introduction to Unix Concepts
Corso Linux
Instalación y Configuración de NIS server en Ubuntu server 14.04 lts

What's hot (20)

PDF
SR-IOV+KVM on Debian/Stable
PDF
Course 102: Lecture 22: Package Management
PPTX
45分で作る Java EE 8 システム
PPTX
Linux basic commands
PPTX
Automated out-of-band management with Ansible and Redfish
PPT
Linux command ppt
PDF
Terraform 0.12 Deep Dive: HCL 2.0 for Infrastructure as Code, Remote Plan & A...
PDF
rrxv6 Build a Riscv xv6 Kernel in Rust.pdf
PPTX
Linux Kernel Programming
ODP
OpenGurukul : Database : PostgreSQL
PDF
Red Hat Enterprise Linux 8 Workshop
PDF
HKG18-318 - OpenAMP Workshop
PDF
Linux field-update-2015
PPT
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
PDF
Build cloud like Rackspace with OpenStack Ansible
PDF
[방송통신대 컴퓨터과학과] UNIX 시스템 과제물 작성
PDF
Device tree
PDF
Kernel_Crash_Dump_Analysis
PDF
Ansible with oci
PDF
Git, CMake, Conan - How to ship and reuse our C++ projects?
SR-IOV+KVM on Debian/Stable
Course 102: Lecture 22: Package Management
45分で作る Java EE 8 システム
Linux basic commands
Automated out-of-band management with Ansible and Redfish
Linux command ppt
Terraform 0.12 Deep Dive: HCL 2.0 for Infrastructure as Code, Remote Plan & A...
rrxv6 Build a Riscv xv6 Kernel in Rust.pdf
Linux Kernel Programming
OpenGurukul : Database : PostgreSQL
Red Hat Enterprise Linux 8 Workshop
HKG18-318 - OpenAMP Workshop
Linux field-update-2015
Nagios Conference 2013 - Troy Lea - Leveraging and Understanding Performance ...
Build cloud like Rackspace with OpenStack Ansible
[방송통신대 컴퓨터과학과] UNIX 시스템 과제물 작성
Device tree
Kernel_Crash_Dump_Analysis
Ansible with oci
Git, CMake, Conan - How to ship and reuse our C++ projects?
Ad

Viewers also liked (20)

PPTX
How to add system calls to OS/161
PDF
P#1 stream of praise
PPTX
How To Add System Call In Ubuntu OS
PPTX
Nas'12 overview
PPTX
An Active and Hybrid Storage System for Data-intensive Applications
PPTX
Reliability Analysis for an Energy-Aware RAID System
PPTX
How to do research?
PPT
COMP2710 Software Construction: header files
PPTX
IPCCC 2012 Conference Program Overview
PPTX
OS/161 Overview
PPTX
Energy Efficient Data Storage Systems
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
Common grammar mistakes
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
P#1 stream of praise
How To Add System Call In Ubuntu OS
Nas'12 overview
An Active and Hybrid Storage System for Data-intensive Applications
Reliability Analysis for an Energy-Aware RAID System
How to do research?
COMP2710 Software Construction: header files
IPCCC 2012 Conference Program Overview
OS/161 Overview
Energy Efficient Data Storage Systems
Why Major in Computer Science and Software Engineering at Auburn University?
Thermal modeling and management of cluster storage systems xunfei jiang 2014
Common grammar mistakes
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 install and compile os161 (20)

PDF
Im trying to run make qemu-nox In a putty terminal but it.pdf
PDF
Tutorial: Cross-compiling Linux Kernels on x86_64
PDF
005 skyeye
PDF
NetBSD workshop
PDF
Build your own embedded linux distributions by yocto project
PDF
ELC-E Linux Awareness
ODP
Le Device Tree Linux
PPTX
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
PDF
LAS16-403: GDB Linux Kernel Awareness
PDF
LAS16-403 - GDB Linux Kernel Awareness
PDF
Lecture 6 Kernel Debugging + Ports Development
PDF
TDC2016SP - Trilha Linux Embarcado
PDF
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
ODT
Cross-compilation native sous android
PPTX
BeagleBone Black with Upstream Software
PDF
Development platform virtualization using qemu
PDF
Embedded Operating System - Linux
PDF
How to create your own Linux distribution (embedded-gothenburg)
ZIP
Embedded Linux Odp
PPTX
Final project CEIS 106
Im trying to run make qemu-nox In a putty terminal but it.pdf
Tutorial: Cross-compiling Linux Kernels on x86_64
005 skyeye
NetBSD workshop
Build your own embedded linux distributions by yocto project
ELC-E Linux Awareness
Le Device Tree Linux
Beyond printk: Efficient Zynq UltraScale+ MPSoC Linux Debugging and Development
LAS16-403: GDB Linux Kernel Awareness
LAS16-403 - GDB Linux Kernel Awareness
Lecture 6 Kernel Debugging + Ports Development
TDC2016SP - Trilha Linux Embarcado
Upgrade GCC & Install Qt 5.4 on CentOS 6.5
Cross-compilation native sous android
BeagleBone Black with Upstream Software
Development platform virtualization using qemu
Embedded Operating System - Linux
How to create your own Linux distribution (embedded-gothenburg)
Embedded Linux Odp
Final project CEIS 106

More from Xiao Qin (8)

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
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
Reliability Modeling and Analysis of Energy-Efficient Storage Systems

Recently uploaded (20)

PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PPTX
CH1 Production IntroductoryConcepts.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPT
Mechanical Engineering MATERIALS Selection
PPTX
Construction Project Organization Group 2.pptx
PPTX
web development for engineering and engineering
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Structs to JSON How Go Powers REST APIs.pdf
PPTX
Geodesy 1.pptx...............................................
PPTX
Sustainable Sites - Green Building Construction
PDF
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PDF
PPT on Performance Review to get promotions
PPTX
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
PPTX
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PDF
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
PPTX
Internet of Things (IOT) - A guide to understanding
PDF
Well-logging-methods_new................
PPTX
Foundation to blockchain - A guide to Blockchain Tech
PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
Strings in CPP - Strings in C++ are sequences of characters used to store and...
CH1 Production IntroductoryConcepts.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Mechanical Engineering MATERIALS Selection
Construction Project Organization Group 2.pptx
web development for engineering and engineering
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Structs to JSON How Go Powers REST APIs.pdf
Geodesy 1.pptx...............................................
Sustainable Sites - Green Building Construction
PRIZ Academy - 9 Windows Thinking Where to Invest Today to Win Tomorrow.pdf
PPT on Performance Review to get promotions
M Tech Sem 1 Civil Engineering Environmental Sciences.pptx
Recipes for Real Time Voice AI WebRTC, SLMs and Open Source Software.pptx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
Evaluating the Democratization of the Turkish Armed Forces from a Normative P...
Internet of Things (IOT) - A guide to understanding
Well-logging-methods_new................
Foundation to blockchain - A guide to Blockchain Tech
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd

Project 2 how to install and compile os161

  • 1. 1   COMP3500:  Project  2  How  to  install  and  compile  OS/161?    README                           After  installed  VirtualBox  on  my  Windows  machine,  I  installed  CentOS  6.5  on  VirtualBox.  Next,  I   successfully  installed  cs161-­‐binutils-­‐1.4  and  cs161-­‐gcc-­‐1.5.tar.  Unfortunately,  I  encountered  an   error  "configure:  error:  no  termcap  library  found".  As  Dustin  suggested,  installing  the  missing   package  can  solve  this  problem.  Please  use  the  following  command  to  install  the  package:   yum install ncurses-devel You  don't  have  to  install  CentOS  6.5,  because  I  believe  that  you  can  install  all  the  OS161  tools  on   CentOS  7.  You  don't  have  to  install  VirtualBox  neither.  Nevertheless,  if  you  decide  to  install   CentOS  on  VirtualBox,  please  refer  to  my  installation  log  below.   1.  Download  CentOS  6.5  CD  ISO  image  file   Tested  on  Windows7  http://archive.kernel.org/centos- vault/6.5/isos/i386/ Tested  on  McOS http://getintopc.com/softwares/operating- systems/centos-6-5-free-download/ 2.  Download  VirtualBox   https://www.virtualbox.org/wiki/Downloads   3.  Installation  of  CentOS  in  VirtualBox   http://teaching.idallen.com/cst8207/14f/notes/000_centos_virtualb ox_install.html   4.  Install  CentOS   4.1    Important!    When  power  on  (boot)  your  virtual  machine,  you  should  see  the  CentOS   installation  screen.  You  must  click  in  the  window  and  use  the  arrow  keys  to  stop  the   Automatic  boot.   4.2    Important!    After  the  installation  is  down,  please  reconfigure  the  Boot  Order.  Hard   disk  first  followed  by  CD/DVD.   5.  Create  a  user  account  in  CentOS  and  Login  CentOS  using  your  newly  created  account     6.  Become  a  root  using  $su  and  Install:   # yum -y install gcc # yum -y install gcc-c++ # yum -y install vim-enhanced # yum -y install emacs # yum -y install gdb # yum -y install ethtool # yum -y install hdparm # yum -y install pciutils # yum -y install file # yum install ncurses-devel    Important!    If  you  don’t  install  the  ncurses-devel  package,  you  will  receive  an   error  message  when  you  install  cs161-gdb-1.5 (see  also  step  10).    
  • 2. 2   7.  Download  OS161  tarballs   7.1  Create  the  cs161 directory  in  your  home  directory   7.2  Download  the  following  tarballs  from  Canvas  and  save  them  in  your  cs161  directory     cs161-binutils-1.4.tar cs161-gcc-1.5.tar     cs161-gdb-1.5.tar sys161-1.14.tar.gz os161-1.10.tar 8.  Install cs161-binutils-1.4   cd cs161 tar vfzx cs161-binutils-1.4.tar cd cs161-binutils-1.4 ./toolbuild.sh 9  Build  the  cross  compiler   cd ~/cs161 tar vfxz cs161-gcc-1.5.tar cd cs161-gcc-1.5 ./toolbuild.sh
  • 3. 3     10.  Build  the  special  gdb  (works)   cd ~/cs161 tar vfxz cs161-gdb-1.5.tar cd cs161-gdb-1.5 ./toolbuild.sh Error Message: configure: error: no termcap library found   Install  the  missing ncurses-devel package:  
  • 4. 4   Successfully  installed  cs161-gdb-1.5     11.  Build  the  sys161  emulator     cd ~/cs161 tar vfxz sys161-1.14.tar.gz cd sys161-1.14 ./configure mipseb make make install     12.  Install  os161   12.1  Unpack  os161-1.10.tar                tar xvfz os161-1.10.tar.gz     12.2  Configure  your  tree  for  the  machine  on  which  you  are  working.  We  assume  that   you  work  in  the  directory ~/cs161.  Please  note  that  if  you  intend  to  work  in  a   directory  that's  not  ~/cs161 (which  you  will  be  doing  when  you  test  your  later   submissions),  you  will  have  to  use  the  –ostree option  to  specify  a  directory  in  which   you  are  working.  ./configure –help explains  the  other  options.   cd ~/cs161/src ./configure       12.3  Configure  a  kernel  named  ASST0.   cd ~/cs161/src/kern/conf ./config ASST0  12.4  Build  the  ASST0  kernel.  (cs161/src/compile).  Use  ‘echo $PATH’  to  check   your  $PATH.  
  • 5. 5   export PATH=~/cs161/bin:$PATH cd ../compile/ASST0 make depend make   12.5  Install  the  ASST0  kernel.   % make install       12.6  Now  also  build  the  user  level  utilties.   cd ~/cs161/src make 13.  RUN  OS161:  Change  into  your  root  directory.   %cd ~/cs161/root Run  the  machine  simulator  on  your  operating  system.   %./sys161 kernel   Important!    If  you  receive  the  following  error  message  “Sys161: Cannot open config file sys161.conf”,  you  should  download  the  file  sys161.conf from   Canvas  and  place  it  in  your  OS/161  root  directory  (~/cs161/root). If  you  successfully  run  os161,  you  will  have:  
  • 6. 6     At  the  prompt,  type  p /sbin/poweroff <return>. This  tells  the  kernel  to  run  the "poweroff" program  that  shuts  the  system  down.