Dept. of Computer Science & Engineering

Site Tools


How to run xv6/jos on a CSE machine

**Note: Due to the magic of mainline code, a custom qemu package is no longer required**

0: Get a CSE account

First, you'll need a CSE account. The instructions for getting one can be found at [https://account.cs.nmt.edu](https://account.cs.nmt.edu).

You can use the *guest* account on a lab machine, but your data will be deleted on logout!

1: Log into a CSE machine

You can SSH into a CSE login machine like so:

$ ssh USER@login.cs.nmt.edu

If you'd like to use qemu graphically, you should use this ssh command instead:

$ ssh -XYC USER@login.cs.nmt.edu

There are more in-depth instructions here. Or, of course, you can log into any CSE lab machine.

2. Running xv6

Clone xv6 into your home directory as such:

$ git clone git://github.com/mit-pdos/xv6-public.git

Then build it:

$ cd xv6-public
$ make

You can then run xv6 in qemu using gdb by running:

$ make qemu-nox-gdb

And then connect to qemu's gdb by running the following in gdb:

+ target remote localhost:26000

Note that the port number is subject to change and can be found as output when make qemu-nox-gdb is run, this should be shown more in detail in your Lab 1 PDF.

Alternate Method

If you prefer to use the magic of containers, either on your own machine or on the CSE machines, there is a Ubuntu 16.04 Dockerfile created for this class located on github.

commons/xv6.txt · Last modified: 2019/10/16 16:45 (external edit)