首先安装virtualBox后下载一个Linux镜像,正常安装完成初期配置包括网络配置,共享剪切板拖拽文件等操作
我的环境是18.04.6的Ubuntu
然后安装bochs
1.下载 bochs
官方地址是 http://sourceforge.net/projects/bochs/files/bochs/,我安装的版本是 2.6.2,下载后的文件是
bochs-2.6.2.tar.gz。
2.解压压缩包 tar zxvf bochs-2.6.2.tar.gz
3.编译
先进入到目录 cd bochs-2.6.2,开始 configure、make、make install 三步曲。
./configure \
--prefix=/your_path/bochs \
--enable-debugger\
--enable-disasm \
--enable-iodebug \
--enable-x86-debugger \
--with-x \
--with-x11
#一行命令安装在/bin/bochs
./configure --prefix=/bin/bochs --enable-debugger --enable-disasm --enable-iodebug --enable-x86-debugger --with-x --with-x11
注意各行结尾的’'字符前面有个空格。下面简要说明一下 configure 的参数。
--prefix=/your_path/bochs 是用来指定 bochs 的安装目录,根据个人实际情况将 your_path 替换为自己待安装的路径。
--enable-debugger 打开 bochs 自己的调试器。
--enable-disasm 使 bochs 支持反汇编。
--enable-iodebug 启用 io 接口调试器。
--enable-x86-debugger 支持 x86 调试器。
--with-x 使用 x windows。
--with-x11 使用 x11 图形用户接口
此时我出现了这个报错 “ERROR: X windows gui was selected, but X windows libraries were not found.
解决办法:
sudo apt-get install libx11-dev xserver-xorg-dev xorg-dev
这个时候应该还是缺少一些安装包会有报错
gtk_enh_dbg_osdep.cc:20:10: fatal error: gtk/gtk.h: No such file or directory
#include <gtk/gtk.h>
再依次执行一下命令
sudo apt install libgtk2.0-dev
然后会有第三个错误
/usr/bin/ld: gui/libgui.a(gtk_enh_dbg_osdep.o): undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
使用vim搜索IBS找到
vim搜索/+搜索词汇+enter第一个就是我们要找的
IBS =-lm -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 –lpangocairo
-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0
在其末尾加上–lpthread即可
IBS =-lm -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 –lpangocairo
-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lglib-2.0 –lpthread
然后常规编译安装
sudo make install
运行
进入安装目录/bin/bochs(你的路径即可)
#关键字为 megs
megs: 32
#设置对应真实机器的 BIOS 和 VGA BIOS 。
#对应两个关键字为 : romimage 和 vgaromimage
romimage: file=/bin/bochs/share/bochs/BIOS-bochs-latest
vgaromimage: file=/bin/bochs/share/bochs/VGABIOS-lgpl-latest
#选择启动盘符
boot: disk #从硬盘启动
# 设置日志文件的输入位置
log: /bin/bochs/bochs.out
# 关闭鼠标,打开键盘
mouse: enabled=0
keyboard: keymap=/bin/bochs/share/bochs/keymaps/x11-pc-us.map
# 设置硬盘
ata0: enabled=1,ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
# 启动盘信息
ata0-master: type=disk, path="/bin/bochs/hd60M.img", mode=flat, cylinders=121, heads=16, spt=63
看到选项从2跳到6就是没问题了
然后创建硬盘img文件
bin/bximage -hd -mode="flat" -size=60 -q hd60M.img
完成后运行就配置完成了
再尝试进入
bin/bochs -f bochsrc.disk