CS 45 — Lab 0: Shell Refresher & Environment Setup


Lab 0 Goals:

  • Revisit CS 31 shell lab.

  • Set up kernel build environment.

  • Set up virtual machine.

  • Build a kernel and deploy it on the VM.

Overview

Lab 1 of CS 45 will build upon the CS 31 shell assignment. I would strongly suggest that you (re)familiarize yourself with the requirements and behavior of that lab. You may find it helpful to reimplement part of that lab, for two reasons:

  1. You might not have programmed in C for a while, and

  2. You’re probably a better programmer now than when you took CS 31.

I would particularly suggest that you try to clean up (or reimplement) your parser, as that’s the component we’ll be extending first. If your parser is busted, nothing else will work, and you may not even be able to test other functionality.

If you’d like to start from (or just look over) the original starter code from CS 31, it’s available on GitHub.

This version has a few extra #includes that will be necessary for CS 45 features, and it also renames 31 to 45 in the file names. I don’t really care if you rename your shell from CS 31 to CS 45, but you will need the #includes!

Requirements

Submitting

You don’t need to submit anything for this lab. Just make sure you have a CS 31-style shell ready.