操作系统:Ubuntu 10.04.2
所需软件包:
源代码包bochs-2.4.6.tar.gz
可以从http://sourceforge.net/projects/bochs/下载
源代码包xv6-rev5.tar.gz
可以从http://download.csdn.net/detail/zysyyz/3707568下载
其他需要的软件会在文中提到
1.安装虚拟机Bochs
虽说直接使用Ubuntu的sudo apt-get install 命令安装Bochs相当方便快捷,可是我们为了运行Xv6,必须是一个支持SMP的Bochs。而用上述命令安装的显然不行,因此我们只好用源代码包自己编译一个:
编译Bochs之前,我们先把安装Bochs所需的几个软件包安装好(参考自 B生的部落格《 Bochs install for smp》 http://colorben.blogspot.com/2010/10/bochs-install-for-smp.html):
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-smp --enable-x2apic --enable-debugger --enable-disasm --enable-vmx=2 --enable-configurable-msrs --enable-x86-64 --enable-a20-pin --enable-acpi --enable-pci
接着编译:
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
好了,现在我们看到一个黑色的屏幕跳出来了,我们继续在原先的命令窗口输入"c",Xv6就开始跑起来了!!
如图:
参考文献:B生的部落格《 Bochs install for smp》 http://colorben.blogspot.com/2010/10/bochs-install-for-smp.html