Linux环境下Bochs软件安装以及可能遇到的问题

Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。一句话,Bochs是电脑里的“PC”。根据需要,Bochs还可以模拟多台PC,此外,它甚至还有自己的电源按钮。

安装

  1. ubuntu最简便安装方法
    直接使用命令sudo apt-get install bochs即可,安装过程中缺啥依赖直接装就行
  2. 从源码进行安装
    有时使用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): 没有该文件或目录”

配置文件

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

参考文献


  1. https://www.cnblogs.com/-lzy/p/3486142.html ↩︎

  2. https://blog.csdn.net/weixin_39874589/article/details/112196740 ↩︎

posted @ 2022-05-18 15:29  DLKKILL  阅读(589)  评论(0编辑  收藏  举报