Install OS161 tools
This document assumes that you have downloaded a bare-bones CS50 appliance, and you need to update it and install OS161-specific tools. If you have downloaded an appliance with tools pre-installed, you do not need to follow these instructions. If you unsure whether the tools are installed on your appliance, try to locate them by typing the following at the shell:
$ which os161-gcc $ which os161-gdb $ which sys161
The system will display to you the location of the above binaries if the tools are correctly installed.
If you would like to install the tools on a brand new appliance, then proceed with the steps below.
When you start a brand new appliance, you will be asked to enter some registration information. Select "other" in the first screen, answer questions on subsequent screen and proceed by firing up a shell.
Install the OS161 tools.
Copy this shell
script onto your virtual machine (you can use
source cs161.sh
(In case you didn't catch it when you updated your VM, the root password on
the appliance is
The first thing that the script will do is update your appliance by executing
the
The script will take a while (several minutes), but it will install all the tools you will need for the course. Note that the script will attempt to download the tools from the Harvard site. If that site is unavailable, you can change the script to refer to the local copy of the tools. Now, update your environment to find everything that was just built/installed either by a) closing your terminal window and opening a new one, or b) typing source .bashrc.
You may be wondering just what all those tools are!
It should come as no surprise to you that we expect that you will need to use
a debugger to complete assignments in this course. The good news is that just
about everything you've learned about using gdb will apply to debugging
OS/161. However, you may be wondering exactly how this is going to work since
you will be building an operating system for something resembling a MIPS
processor and you will be running on an Intel-based system.
We use a specially compiled version of gcc (and its associated tools) designed
to produce code runnable on System/161. Thus, we have our own version of gcc
(available as