CS 111 requires that you build several different projects for the x86. As part of the class we've provided two different environments. You are welcome to use them or setup your own computer to do the labs.
We have created a custom version of Ubuntu that has all of the build tools, emulators, and text editors that you will need to complete the labs. The distribution file is roughly 1GB.
Download (may take a while): ISO cs111-35-ubuntu.iso (~1GB)
To use this distribution, you have three options:
Option 1: Run the image in a virtual machine. The two best options for this are VMWare and VirtualBox. VMware is more polished, but its Mac OS X product costs money (Windows and Linux versions are free). VirtualBox is free.
Here are VirtualBox instructions (which we've checked on a Mac). It looks like this route requires about 3-4GB of disk space total once the virtual machine is fully installed.
cs111-35-ubuntu.iso (which you downloaded above).Option 2: Install the image file onto a USB stick (at least 1GB). The easiest way to do this is to use UNetBootin. Follow the instructions on their page and use our image file as the source ISO. After install, just make sure that your computer can boot off of a USB stick.
Option 3: Install Ubuntu on your machine. To do this, first follow the previous step and then when booting from the USB stick select the install option.
We have updated the labs to work on the new SEASnet Linux servers. To use these servers, you will need a SSH client and a SEASnet account. Once you have both, you can use the machines by doing the following:
ssh -X username@lnxsrv.seas.ucla.edu. The -X option tells the Linux server to create any GUIs on your client machine, rather than on the server. This will be most important when using the emulators.source /u/cs/class/cs111/cbin/share/shellsetup PATH and LD_LIBRARY_PATH environment variables to include our code. If you add this line to your ~/.bashrc file (or ~/.cshrc, if you are running tcsh), this will happen automatically every time you log in.
Simply log in. Make sure you run source /u/cs/class/cs111/cbin/share/shellsetup to set up your PATH and LD_LIBRARY_PATH environment variables appropriately. If you add this line to your ~/.bashrc (or ~/.cshrc) file, this will happen automatically every time you log in.
If you are using Linux, you will first need to install the following standard packages.
For the labs, you will require a Qemu installation. We provide a patched version of Qemu: follow these instructions to install it.
For minilabs, use the Bochs PC emulator. The following Ubuntu packages are useful for a Bochs installation (we use the default Bochs):
If you are using OS X, your XCode should suffice for building some of the labs. If not, you'll need to make sure that the above packages are also installed manually.
If you are using Windows, we strongly recommend that you use our custom Linux distribution.