- xv6 book.
- xv6 indexed/cross referenced code (all 9099 lines of it :-)
- Official XV6 page; you will find many resources here including instructions to download git. Here is a mirrored Git repository to download the code from. If you use the mirror, click on Download ZIP and then unzip the directory on sledge.
Getting Started
- You are encouraged to work on sledge.cs.ucr.edu where we have installed QEMU. If you want to set up your own environment, please follow the instructions here.
- Once you download the source, unzip it.
Open two terminal windows. In one, enter make qemu-gdb (or make qemu-nox-gdb). This starts up QEMU, but QEMU stops just before the processor executes the first instruction and waits for a debugging connection from GDB. In the second terminal, from the same directory you ran make, run gdb. (Briefly, gdb -q -iex "set auto-load safe-path /home/csprofs/nael/xv6-master/" . Change the last part to your path to the xv6 directory. You should see something like this,
sledge% gdb GNU gdb (GDB) 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu". + target remote localhost:26000 The target architecture is assumed to be i8086 [f000:fff0] 0xffff0:ljmp $0xf000,$0xe05b 0x0000fff0 in ?? () + symbol-file obj/kern/kernel (gdb)
- Get familiar with how to use gdb with QEMU/JOS.