xv6 可以在http://pdos.csail.mit.edu/6.828/2011/xv6.html 使用git clone下来,相当方便。
而运行xv6的bochs,
源代码包bochs-2.4.6.tar.gz
可以从http://sourceforge.net/projects/bochs/下载
注意:不能使用ubuntu上的apt-get install 直接安装,因为不支持SMP。
sudo apt-get install g++
sudo apt-get install libc6-dev
sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install libgtk2.0-dev
接着解压: tar zxvf bochs-2.4.6.tar.gz
进入解压出来的目录:cd bochs-2.4.6
为了能够编译出支持SMP的Bochs,我们首先要这样配置:
./configure --enable-disasm --enable-debugger --enable-all-optimizations --enable-new-pit --enable-4meg-pages --enable-cpu-level=6 --enable-smp --enable-cdrom --disable-docbook --disable-reset-on-triple-fault --with-all-libs --with-x --with-x11 --with-nogui
接着编译:
make
sudo make install
OK !这样我们的支持SMP的Bochs就安装好了!
接下来在Bochs中安装Xv6,我们用的是xv6-rev5.tar.gz(在写这篇文章时,最新的源码包是xv6-rev6.tar.gz,我一开始用的也是这个最新的第六版,遗憾的是在运行中却出现了很奇怪的错误,只好退而求其次,希望有谁运行成功的可以不吝赐教)。
安装很简单,源码包中的README文件中就写得很清楚:
先解压:tar zxvf xv6-rev5.tar.gz
进入目录:cd xv6
编译:make
在虚拟机中运行:make bochs
就OK 了。