Bochs 安装
2021-02-01
2 min read
环境
OSX Catalina
安装指令
最开始尝试下载 bochs 的源码编译安装,但是提示找不到 <linux/type.h> 头文件。后来查找资料,发现使用 brew 即可安装 bochs
brew install bochs
安装完成后,可以执行 bochs,打印出出错信息,说明 bochs 已经安装成功。
配置bochs
配置文件:bochsrc.disk
megs: 32
romimage: file=$PATH/bochs-2.6.10/bios/BIOS-bochs-latest
vgaromimage: file=$PATH/bochs-2.6.10/bios/VGABIOS-lgpl-latest
boot: disk
log: bochs.out
mouse: enabled=0
keyboard: keymap=$PATH/bochs-2.6.10/gui/keymaps/sdl2-pc-us.map
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#gdbstub: enabled=1, port=1234, text_base=0, data_base=0, bss_base=0
上述参数具体解释在后面已经说明,需要注意的是一些配置文件需要指定路径,使用 brew 方式安装的 bochs 没有这些文件(或者我没有找到...),因此可以下载 bochs 的源码,按上述中的路径找到后配置在文件中。
运行 bochs
当配置完成后,可以运行 bochs 命令来启动
bochs -f bochsrc.disk
运行后,按 C 键,系统将会跳出 bochs 的 UI 窗口,如下图所示,可以看到 No bootable device.的错误,这是由于没有指定启动盘。
指定启动盘
要指定启动盘,首先要有一个启动盘。安装 bochs 的时候,会自带一个制作 image 的工具:bximage
运行bximage 命令后,选择创建默认 IMG,输入一些配置以及输出路径即可(可以都按默认配置),生成 IMG 文件成功后,bximage 会贴心的告诉你
The following line should appear in your bochsrc:
ata0-master: type=disk, path="c.img", mode=flat
将这一行添加到配置文件中,再次启动 bochs,按 C 运行。可以看到依然显示 No bootable device,但错误原因已经变了。
这次是因为img 中没有可以启动的代码,接下来就去编写 MBR 引导程序吧。