Linux环境下Bochs软件安装以及可能遇到的问题
Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。一句话,Bochs是电脑里的“PC”。根据需要,Bochs还可以模拟多台PC,此外,它甚至还有自己的电源按钮。
安装
- ubuntu最简便安装方法
直接使用命令sudo apt-get install bochs
即可,安装过程中缺啥依赖直接装就行 - 从源码进行安装
有时使用apt-get安装的版本不合适,我们可以使用下载源码的办法进行手动安装- 首先weget或者官网下载想要版本的包
https://sourceforge.net/projects/bochs/files/bochs/
- 解压包
使用命令tar zxf bochs-x.x.x.tar.gz
- make三连
这里有一些需要注意的情况[1],可见编译支持VESA3的bochs
具体为:在执行./configure时,要使用如下参数./configure --enable-disasm --enable-readline --enable-clgd54xx --enable-debugger --enable-ne2000
,否则最后运行后会出现段错误;在执行完make后,要执行命令cp bochs bochsdbg
,否则在make install时可能会出现错误“无法获取"./bochsdbg" 的文件状态(stat): 没有该文件或目录”
- 首先weget或者官网下载想要版本的包
配置文件
bochs需要配置文件描述硬件信息,配置文件的命名是任意的,bochs默认的配置文件名为bochsrc.txt。
在bochs安装目录下share/doc/bochs
文件夹里有名为bochsrc-sample.txt的示例文件,可以在此基础上进行修改
以下为一些关键参数[2]
点击查看代码
# 虚拟机内存大小
msg:32
# 对应真实机器的BIOS和VGA BIOS
romimage: file=/“bochs安装路径”/share/bochs/BIOS-bochs-latest
vgaromimage: file=/“bochs安装路径”/share/bochs/VGABIOS-lgpl-latest
# 设置bochs使用的磁盘:软盘使用关键字floppya,硬盘使用disk
# 若有多个软盘,可写floppya,floppyb;例如:
floppya: 1_44=a.img, status=inserted
#设定启动磁盘
boot:floppy
# 或者是 boot:disk
#目录信息地址
log:/tmp/bochsout.txt
#鼠标是否可用
mouse:enabled=0
#键盘快捷键是否可用,使用美国键盘布局(US layout)作为默认值
keyboard_mapping:enable=1,map=/usr/share/bochs/keymaps/x11-pc-us.map
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#这一句是根据bximage生成的,可参考引用链接2里面的说明[^2]。
ata0-master: type=disk, path="/home/dante/workspace/os/hd60M.img", mode=flat, cylinders=121, heads=16, spt=63