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 scp or sftp to move files onto your VM, or just download from within the appliance via wget or by opening this page in the Chrome browser and clicking on the said link) and then execute it:

  source cs161.sh

(In case you didn't catch it when you updated your VM, the root password on the appliance is crimson.)

The first thing that the script will do is update your appliance by executing the update 50 command. If you are prompted with any questions during the update, choose the default (highlighted) answer for everything except when you are asked if you would like to continue without installing GRUB. Hit yes, to proceed without installing GRUB.

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 os161-gcc) and, among other things, our own version of gdb (available as os161-gdb).