# Install Guide for CS122¶

This guide provides instructions on how to set up the VirtualBox software and load the VirtualBox image that you will need to do the assignments in this course.

## OS X¶

1. Plug in the flash drive, open a finder window and look for the device labeled CMSC121-A16. Click on the name of the device and then open (by double-clicking) the VirtualBox folder and then open the OSX folder.

2. Open the file named VirtualBox-5.1.6-110634-OSX.dmg. This action will open a new window.

3. Double click on the icon that looks an open shipping box. It looks like the screenshot here.

4. Press Continue when presented with a security message.

5. Press Continue again on the introductory screen.

6. Press the Install button to accept the standard installation.

8. Press Close once the installation completes.

9. In your web browser, go to https://mit.cs.uchicago.edu/ and log in with your CNet ID and password.

10. Open a finder window for the device the labeled CMSC121-A16. Click on the name of the device and then open the file named CMSC121-a16-v2.ova. This step will open a VirtualBox window and a prompt. Within this prompt, click Import. This process may take as much as 5-10 minutes.

11. Click Start.

12. Log in. The username is student and password is uccs.

13. An empty desktop should appear, with a dock on the left. At the top, you may see one or more messages with Xs to dismiss them on the right. Dismiss these so that you can see “Ubuntu Desktop” at the top left of the display-within-a-window.

14. Click on the terminal icon, which is fourth from the top in the dock and looks like a screen. You now have a Linux command line window open.

15. You can switch back and forth between programs running on your computer, and programs running within the VirtualBox window. But, you should do all your work (such as writing code) within the VirtualBox environment so that the files are in the right place. You can do other course-related tasks using your standard applications (e.g. using a web browser to visit Piazza).

You can copy text from your browser on the OSX-side in the usual way (Command-c) and then paste it in the terminal window in the VM using Shift-Control-v. Make sure you have selected the terminal window on the VM (just click on it) before you do the paste.

16. Run the following commands in the terminal window.

update-cs-software


You will be asked for the password for the student account when you run these commands. The password is uccs. Note that you will not see any characters echoed back as you type the password.

17. You are now ready to set up your Git repository. Git is a software version constrol system that we will be using for labs and programming assignments. Run the following commands:

cd
cs-setup-script cs122-win-17


Setting up your Git repository...

Setting up chisubmit...
chisubmit has been set up. You can use chisubmit commands inside /home/student/cs122-win-17-username


where username has been replaced by your CNetID.

18. If you want to suspend your VirtualBox, click the red close button in the top left of the window. We recommend choosing “Save the machine state”. That way, you can always pick up where you left off.

Note

Never select “Power off the machine” when closing your VM, because this option is the equivalent of yanking the power cord on a running desktop machine. This option can result in hard drive corruption and many other problems.

When closing your VM, make sure that you always select either “Save the machine state” (this is the best option, as it will allow you to resume the VM in the exact same state you left it) or “Send the shutdown signal” (which will perform an orderly shutdown of the machine).

If you need to shut down the machine where your VM is running, make sure you close your VM before shutting down your machine. Shutting down your machine while the VM is running can have the same effect as selecting the “Power off the machine” option when closing the VM.

1. When you want to resume a session, relaunch the VirtualBox application (in your Applications folder.
2. If you back up your computer, you may want to exclude the large files maintained by VirtualBox from your backups. In particular, when you use your VirtualBox, the state of the machine is saved to your disk, and a large (multi-GB) file is changed each time. This can result in very large backups with each backup saving another copy of this large file due to the changes. Exclude the files that you downloaded, and the folder named “VirtualBox VMs” within your home folder if you wish to avoid this problem.

## Windows¶

1. Plug in the flash drive. Find the device called “CMSC121-A16” in Explorer, by clicking on “Computer” or “File Explorer” in the Start Menu, or by pressing “Windows+E” on your keyboard.

2. Now right-click (do NOT double-click) this file and select “Run as Administrator”. If you do not see the “Run as Administrator” option because you are on an older version of Windows, you may resort to double-clicking the executable. Note that if you are not on an administrator account on your machine, your VirtualBox installation may fail.

3. If you are presented with a UAC prompt (aka: the screen goes dark and you are asked “are you sure you want to run X?”), select Yes and accept the prompt. Do not select No/Cancel/Reject.

4. You will now be presented with the installer window. Press Next. On the next screen, accept the defaults by pressing Next again. You can customize these settings if you feel you need to, but we do not offer troubleshooting help should you fail to install your VM correctly due to tinkering. Keep pressing Next until you cannot press Next anymore. The installation will begin at this point and may take several minutes to complete.

5. You may be asked to accept the installation of a new network adapter/interface or setting up a new network connection. In case of the former, you should accept the new network adapter/interface by pressing Yes/Accept/Okay. In case of the latter and a new window pops up, you should indicate that it is a public connection and click Okay/Close.

6. When the installation is complete, you will be presented with a shiny new VirtualBox window. Minimize/close this window.

7. In your web browser, go to https://mit.cs.uchicago.edu/ and log in with your CNet ID and password.

8. Go back to the flash drive that you opened in Step 1.

9. Once you are presented with the drive’s contents, double-click to open the file named CMSC121-a16-v2.ova.

10. Give it a few moments. You will eventually be presented with your VirtualBox window and a prompt. Within this prompt, click Import. This process may take as much as 5-10 minutes.

11. Once the previous step is complete, you should see your VirtualBox window. On the left, you should see a VM named “CMSC121-a16”. Click this VM once and then click the Start button at the top of the window. You will now boot into the VM. Be patient as it may take a few moments for anything to happen. Do not close or otherwise tinker with VirtualBox at this point.

12. Once your VM boots up, proceed to log in. The username is student and password is uccs.

13. An empty desktop should appear, with a dock on the left. At the top, you may see one or more messages with Xs to dismiss them on the right. Dismiss these so that you can see “Ubuntu Desktop” at the top left of the display-within-a-window.

14. Click on the terminal icon, which is fourth from the top in the dock and looks like a screen. You now have a Linux command line window open.

15. You can switch back and forth between programs running on your computer, and programs running within the VirtualBox window. But, you should do all your work (such as writing code) within the VirtualBox environment so that the files are in the right place. You can do other course-related tasks using your standard applications (e.g. using a web browser to visit Piazza).

You can copy text from your browser on the Windows-side in the usual way (Command-c) and then paste it in the terminal window in the VM using Control-v. Make sure you have selected the terminal window on the VM (just click on it) before you do the paste.

16. Run the following commands in the terminal window.

update-cs-software


You will be asked for the password for the student account when you run these commands. The password is uccs. Note that you will not see any characters echoed back as you type the password.

17. You are now ready to set up your Git repository. Git is a software version constrol system that we will be using for labs and programming assignments. Run the following commands:

cd
cs-setup-script cs122-win-17


Setting up your Git repository...

Setting up chisubmit...
chisubmit has been set up. You can use chisubmit commands inside /home/student/cs122-win-17-username


where username has been replaced by your CNetID.

18. If you want to suspend your VirtualBox, click the red close button in the top left of the window. We recommend choosing “Save the machine state”. That way, you can always pick up where you left off.

Note

Never select “Power off the machine” when closing your VM, because this option is the equivalent of yanking the power cord on a running desktop machine. This option can result in hard drive corruption and many other problems.

When closing your VM, make sure that you always select either “Save the machine state” (this is the best option, as it will allow you to resume the VM in the exact same state you left it) or “Send the shutdown signal” (which will perform an orderly shutdown of the machine).

If you need to shut down the machine where your VM is running, make sure you close your VM before shutting down your machine. Shutting down your machine while the VM is running can have the same effect as selecting the “Power off the machine” option when closing the VM.

1. When you want to resume a session, relaunch the VirtualBox application (in your Applications folder. Do not re-open either of the files you preiously downloaded) and click Start.
2. If you back up your computer, you may want to exclude the large files maintained by VirtualBox from your backups. In particular, when you use your VirtualBox, the state of the machine is saved to your disk, and a large (multi-GB) file is changed each time. This can result in very large backups with each backup saving another copy of this large file due to the changes. Exclude the files that you downloaded, and the folder named “VirtualBox VMs” within your home folder if you wish to avoid this problem.