CSE 451, Introduction to Operating Systems, Spring 2016

Setting Up Your Own Toolchain

Do You Really Need to Do This?

If you are working on attu, forkbomb, or any of the Linux lab workstations, the toolchain has already been pre-installed. If you're running the home VM, follow the following steps (from support@cs):

The Home VM looks at our local courseware repository, so the packages can also be installed there. For someone who has just downloaded the Home VM, they should first apply all the updates since the home VM was created with:

sudo dnf -y update

After that, they can install the toolchain by doing:

sudo dnf -y install bmake os161-environment binutils+os161 gcc+os161 gdb+os161 sys161

After your next login, or opening a new shell, the new toolchain (in /usr/local/os161) will be added to your $PATH. You can test that the toolchain is properly set up by issuing which sys161. If your shell can find sys161, then your PATH is set correctly and you're good to go.

Installing a Toolchain Anyway

If you're working from a personal machine (not recommended) or from a VM, you need to set up your own toolchain so that you can build the provided operating system. The easiest way to do this is to download and run the installation script, which you can find here. To download it it directly to your system, you can execute:

wget http://courses.cs.washington.edu/courses/cse451/16sp/toolchain/install-toolchain.sh
Then just
sh install-toolchain.sh
to start the installation process.

By default, this script will create a directory cse451 in your home folder, downloading the toolchain source files into ~/cse451/scratch. The toolchain binaries will be installed into ~/cse451/tools/bin. This script will also automatically add ~/cse451/tools/bin to your PATH by editing your .bashrc file. If you wish to change the toolchain install directory, simply edit the BASEDIR variable in the script accordingly.