操作系统相关的代码,始终还是代码,即肯定需要相应的调试工具。
Bochs是一种十分轻便的使用c++编写的开源IA-32(x86)电脑模拟器,可以运行在最受欢迎的平台上。能仿真英特尔x86 CPU、常见的I/O设备、和定制的BIOS,支持断点调试,调试方法和GDB非常相似。
现在官网下载Bochs的源码:
然后将其拷贝到ubuntu下:解压缩:tar -zxvf bochs-2.4.5.tar.gz
然后执行:
./configure --enable-debugger --enable-disasm
此时可能会报错 :
ERROR: X windows gui was selected, but X windows libraries were not found.
解决办法:
sudo apt install xorg-dev
但是此时可能又会出现这样的情况:
0% [Connecting to archive.ubuntu.com (2001:67c:1360:8001::21)]
解决办法:
先执行:sudo nano /etc/gai.conf
然后找到这行命令:#precedence ::ffff:0:0/96 100 把“#“”去掉,保存退出即可。
再次执行 sudo apt install xorg-dev即可安装成功。
然后,再运行:./configure --enable-debugger --enable-disasm
又可能出现:
Package gtk+-2.0 was not found in the pkg-config search path.Perhaps you should add the directory containing `gtk+-2.0.pc'to the PKG_CONFIG_PATH environment variableNo package 'gtk+-2.0' foundERROR: pkg-config was not found, or unable to access the gtk+-2.0 package.Install pkg-config and the gtk+ development package,or disable the gui debugger, or the wxWidgets display library (whichever is being used).
解决办法:
sudo apt install libgtk2.0-dev
之后,再次执行./configure --enable-debugger --enable-disasm,紧接着执行make,又可能出现:
解决办法:
在Makefile的92行增加链接库 pthread:
然后,再make,最后sudo make install即可安装完成。
安装成功之后,执行b6ochs,选择选项6,得到:
现在即完成了第一阶段的任务。