在Unbuntu下运行JOS下编译JOS操作系统需要的工具如下:
1)gcc 这个Unbuntu自带,但是版本比较高,因为需要对JOS中一些地方作一下修改,(long long num改为long num)
2)nasm
3)QEMU
gcc和nasm在Unbuntu中都已经有了,所以就不需要安装了。
QEMU的安装如下:
1)在mit的网站上下载打过补丁的QEMU,没有打过补丁的不能用于后面JOS的调试
2)在linux下,需要安装SDL库,获得图像VGA窗口,就是 libsdl1.2-dev包.
3)配置源代码,如下:
Linux: ./configure [--prefix=PFX] [--target-list="i386-softmmu x86_64-softmmu"] OS X: ./configure --disable-sdl [--prefix=PFX] [--target-list="i386-softmmu x86_64-softmmu"]
prefix参数指定QEMU所安装的地方 ; 如果没有则默认安装 QEMU在 /usr/local 下. target-list 参数指定QEMU支持的参数
4)然后make,再sudo make install。
JOS的运行步骤:
1)从MIT网站上下载源代码
2)cd lab,到lab文件夹中,
3)make
4)make qemu
运行成功的话,得到的界面如下:
PICTURE:/home/fantasy/.tencent/qq//AppData/file//sendpix0.jpg
调试JOS代码的步骤,
1)开两个终端,同时使他们工作在相同的目录下
2)在一个终端中,输入make qemu-gdb(或者make qemu-nox-gdb)
3)在另一个终端中,输入gdb,则就可以通过si(或si N)命令,以及c命令来调试代码了,当然还有一些其他的有用的命令,可以参考gdb和 qemu文档
如下图所示,就成功了