CSCI 350 Setup Guide

This guide will take you through the steps needed to set up the virtual machine to do the PintOS project. Both and Windows will run just fine. We have yet to test this on , however there should be no problems as long as you get Oracle’s VirtualBox.

Prerequisites

1. You should have Oracle VirtualBox installed and a copy of the csci350.ova file. Follow the instructions on the website if you do not (http://bits.usc.edu/cs350/installing-course-vm.html)

2. Finally, you’ll need a Github account and register it on the Google Forms for us to provide you with the pintos starting base. Please check the website for the Github signup form.

Setting Up the VM

Once you have finished the above three steps, it’s time to set up the machine. Run the

VirtualBox application, then select File->Import Appliance.

Page 1 of 16

Once prompted for the appliance to import, select the csci350.ova appliance you downloaded in

prerequisite step 2. Click continue.

In the next screen, check the Reinitialize the MAC address of all network cards. Click Import.

Page 2 of 16

Wait for VirtualBox to finish importing the appliance. This may take several minutes.

Once finished, you should see the csci350- appliance as an available virtual machine.

Page 3 of 16

Before you get too excited and launch the virtual machine, we need to adjust some settings first. Note that these settings will vary from machine to machine, but the general rule is: allocate as much resources as possible. PintOS will need all the processing power you can give it.

Select csci350-bochs and select Settings.

Under General->Advanced, change Shared to bidirectional.

Page 4 of 16

Under System->Motherboard, put as much base as you possibly can. I find 8192MB to

be plenty enough.

Under System->Processor, allocate as many processors as you can.

Page 5 of 16

Under Display->Screen, allocate as much Video Memory as you can. While you’re here, also

check Enable 3D Acceleration. That’s it for setup. Click OK. Now you can select csci350-bochs and Start the machine.

Page 6 of 16

The first thing you will notice is that the window cannot be expanded. Don’t worry, we’ll fix this

later. Use “csci350” as the password to login.

Welcome to the csci350 course VM!

Page 7 of 16

Install Guest Additions (optional)

If you’re bothered by how small the window of the virtual machine is, this section will fix it. You will need internet connection for this. Here are the following steps to have the virtual machine connect to the internet

1. Make sure your local machine is connected to the internet 2. Power on the virtual machine, once you power on the virtual machine, the virtual machine should also automatically connect to the internet. 3. If your machine sleeps, and you resume the machine, sometimes the virtual machine will lose the internet connection (especially if you disconnect & reconnect on your local machine). If this is the case, power off the virtual machine, and start from step 1.

Once you have internet connection, select Devices->Insert Guest Additions CD Image… under

the VirtualBox menu bar.

Page 8 of 16

Wait a few moments, and a CD will appear on the desktop. Double click the disk image to open it in the file manager, right click the white space of the file

manager, then click “Open Terminal Here”.

Page 9 of 16

In the terminal, type $chmod 777 VBoxLinuxAdditions.run.

Now type $sudo ./VBoxLinuxAdditions.run. If prompted, type in “csci350” as the password.

Page 10 of 16

Wait a few moments for the process to complete. You should see the following when the process

is done.

Now power off the virtual machine and power it back on. You can now resize the window!

Page 11 of 16

Github SSH Setup

Since this virtual machine is essentially a completely new computer, you’ll need to register a new SSH key to your Github account.

Click the upper-left hand symbol in the virtual machine to pull up the menu, and select Terminal .

In the shell, type in $ssh-keygen -t rsa -b 2048 -[email protected]”.

Replace “ttrojan” with your USC username.

Page 12 of 16

When prompted for the location to save the key, simply enter nothing and press enter.

When prompted for the passphrase, feel free to not enter one both times.

You should see a fancy ASCII image when you finish generating the key

Page 13 of 16

Now type in $subl ~/.ssh/id_rsa.pub to get the SSH key. Sublime Text should open with the key. Copy the first line to your clipboard.

In the web browser, login to your Github account, click the top-right hand corner with the picture, and click “settings”. On the left hand side, click on “SSH and GPG keys”, then click “New SSH Key” near the top right hand side.

Page 14 of 16

Enter any title, and paste in the SSH key, then “click Add SSH Key”

Back in the terminal in your virtual machine, we need to finish some configurations. You’ll need to setup both your name and email. Type in the following two commands with your name and USC email:

$git config —global user.name “Tommy Trojan”

$git config —global user.email “[email protected]

Page 15 of 16

Github Repository Setup

You can only complete this section once we have given you your private repository for PintOS. This section is pretty short. If you

Login to Github, locate your repository named “pintos-ttrojan” (with your username, not ttrojan), and clone the repository into your virtual machine. We recommend you clone the repository under the Documents directory.

Update the README.md in root directory of the repository with your information.

You are now done and ready to start the projects!

Page 16 of 16