Cloning and Setup
Following the same steps as we used for Homework 1, you'll need to set up your directory on the CS 134 server. You'll need to clone the repository for the assignment and build the OS/161 userspace tools.
Cloning the Repository
After accepting the assignment on GitHub Classroom, you'll need to clone the repository to your CS 134 server account. Here's how you do it:
- Go to your repository on GitHub.
- Click the green button that says .
- You'll see a URL; copy that URL (the easiest way is to click the button that looks like two stacked squares).
- Open VS Code.
- Click on the button in the lower-left corner. In the pop-up menu, select and enter
for the host (whereusername @cs134.cs.hmc.eduusername is replaced by your CS 134 server username from Homework 1). When prompted, enter your server password. - On the sidebar of your VS Code window, click the “Explorer” icon (looks like two overlapping pieces of paper) or the “Source Control” icon (looks like three circles connected by two lines).
- Click .
- In the text box at the top of the window, paste the URL you copied from GitHub.
- Now edit the path to choose a place to save the cloned repo. We recommend using the
cs134directory that is already in your home directory. - VS Code will download the repository and ask if you want to open the repository. Say yes!
Building the OS/161 Userspace Tools
Open up a terminal in VS Code (with or Command `). Now, to get your cloned repository ready for use, you need to run the following commands:
./setup
Running ./setup can take a few moments depending on how busy the server is. Remember that you can skip ahead to do some of the reading parts of the assignment while you are waiting for some code to compile.
The build process should finish with a message like
Base system installed in /home/username /cs134/repo-name /root
Now you need to configure and build the kernel.
where
When ./setup finishes, it will have built all the user-level commands (such as /sbin/reboot) and libraries for OS/161, but not the kernel itself. We'll do that next…
(When logged in, completion status appears here.)