$ sudo apt-get install bochs vgabios bochsbios bochs-doc bochs-x libltdl7 bochs-sdl bochs-term
$ sudo apt-get install graphviz cflow
$ make switch // switch to another emulator, between qemu and bochs
Switch to use emulator: bochs
Hack Linux 0.11
$ make help // get help
$ make // compile
$ make start-hd // boot it on qemu with hard disk image
$ make debug-hd // debug it via qemu & gdb, you'd start gdb to connect it.
$ gdb images/kernel.sym
(gdb) target remote :1234
(gdb) b main
(gdb) c
// to debug the bootsect or setup part, please load the symbol files
$ gdb boot/bootsect.sym
$ gdb boot/setup.sym
Optional
$ echo "add-auto-load-safe-path $PWD/.gdbinit" > ~/.gdbinit // let gdb auto load the commands in .gdbinit
Check your OS X version from "About This Mac", for example, Lion
Go to the "Mac OS X Package (.pkg) Installer" part and download the corresponding version
Self update MacPorts
$ xcode-select -switch /Applications/Xcode.app/Contents/Developer
$ sudo port -v selfupdate
Install cross compiler gcc and binutils
$ sudo port install qemu
Install qemu
$ sudo port install i386-elf-binutils i386-elf-gcc
Install graphviz and cflow
$ sudo port install GraphViz
$ sudo port install cflow
Install gdb. 'Cause port doesn't provide i386-elf-gdb, use the pre-compiled tools/mac/gdb.xz or download its source and compile it.
$ cd tools/mac/ ; tar Jxf gdb.xz
Optional
$ sudo port install cscope
$ sudo port install ctags
$ wget ftp://ftp.gnu.org/gnu/gdb/gdb-7.4.tar.bz2
$ tar -xzvf gdb-7.4.tar.bz2
$ cd gdb-7.4
$ ./configure --target=i386-elf
$ make
Build on Other Systems (include Mac OS X, Windows)
If want to use this Lab on the other systems, such as Windows (and even Mac OS
X), with the Dockerfile support, everything is simplified.
Only need to install the boot2docker tool, which is a lightweight Linux
distribution made specifially to run Docker containers, with this tool and our
Dockerfile, we can simply build a Linux 0.11 Lab on every system.
请发表评论