This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
commons:xv6 [2017/01/27 20:06] ljencka |
commons:xv6 [2019/10/16 16:45] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | # How to run xv6/qemu on a CSE machine | + | ==== How to run xv6/jos on a CSE machine |
- | ## 0: Get a CSE account | + | ===**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 | First, you'll need a CSE account. The instructions for getting one can be | ||
found at [https:// | found at [https:// | ||
- | You can use the *guest* account on a lab machine, but your data will be wiped on logout! | + | You can use the *guest* account on a lab machine, but your data will be deleted |
- | ## 1: Log into a CSE machine | + | == 1: Log into a CSE machine |
You can SSH into a CSE login machine like so: | You can SSH into a CSE login machine like so: | ||
- | ``` | + | |
+ | < | ||
$ ssh USER@login.cs.nmt.edu | $ ssh USER@login.cs.nmt.edu | ||
- | ``` | + | </ |
If you'd like to use qemu graphically, | If you'd like to use qemu graphically, | ||
instead: | instead: | ||
- | ``` | + | < |
$ ssh -XYC USER@login.cs.nmt.edu | $ ssh -XYC USER@login.cs.nmt.edu | ||
- | ``` | + | </ |
+ | |||
+ | There are more in-depth instructions [[ssh|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:// | ||
+ | </ | ||
- | Or, of course, you can log into any CSE lab machine. | + | Then build it: |
- | ## 2: Clone the xv6 project | + | < |
+ | $ cd xv6-public | ||
+ | $ make | ||
+ | </ | ||
- | Next, you'll need a copy of the *xv6* repository. | + | You can then run xv6 in qemu using gdb by running: |
- | ``` | + | < |
- | $ git clone https:// | + | $ make qemu-nox-gdb |
- | $ cd xv6 | + | </code> |
- | ``` | + | |
- | ## 3: Make and run xv6/qemu | + | And then connect to qemu's gdb by running the following in gdb: |
- | We've created a script that' | + | < |
- | as: | + | + target remote localhost:26000 |
+ | </ | ||
- | ``` | + | Note that the port number is subject to change and can be found as output when '' |
- | $ runxv6 | + | |
- | ``` | + | |
- | If you'd like a text-only view you can run it with the `--nox` argument: | + | ==== 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 [[https:// | ||
- | ``` | ||
- | $ runxv6 --nox | ||
- | ``` |