Bochs是一个x86硬件平台的开源模拟器。它可以模拟各种硬件的配置。Bochs模拟的是整个PC平台,包括I/O设备、内存和BIOS。更为有趣的是,甚至可以不使用PC硬件来运行Bochs。事实上,它可以在任何编译运行Bochs的平台上模拟x86硬件。通过改变配置,可以指定使用的CPU(386、486或者586),以及内存大小等。一句话,Bochs是电脑里的“PC”。根据需要,Bochs还可以模拟多台PC,此外,它甚至还有自己的电源按钮。
Windows下bochs的配置文件说明
###############################################################
# bochsrc.txt file for zieckey’s first OS boot disk image.
###############################################################
# how much memory the emulated machine will have 对内存的设置
megs: 32
# filename of ROM images 配置ROM的选项,也即BIOS的设置,一个是ROM一个是显存ROM,注意路径问题
romimage: file=../BIOS-bochs-latest, address=0xf0000
vgaromimage: file=../VGABIOS-lgpl-latest
# what disk images will be used 配置软盘镜像
floppya: 1_44=boot.img, status=inserted
#floppyb: 1_44=floppyb.img, status=inserted
# hard disk 配置硬盘镜像,也即软盘存在于硬盘上的位置
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
#ata0-master: type=disk, path=”hd10meg.img”, cylinders=306, heads=4, spt=17 这是dlxlinux的实例
# choose the boot disk. 配置启动目录,从软盘启动
boot: floppy
# default config interface is textconfig.
#config_interface: textconfig
#config_interface: wx
#display_library: x
# other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga
# where do we send log messages? 配置bochs的日志文件
log: bochsout.log
# disable the mouse, since DLX is text only 配置鼠标,不要使用键盘的配置项
mouse: enabled=0
Linux下bochs的配置文件说明
基本同Windows的配置项
###############################################################
# Configuration file for Bochs
###############################################################
# how much memory the emulated machine will have
megs: 32
# filename of ROM images
romimage: file=/usr/share/bochs/BIOS-bochs-latest
vgaromimage: /usr/share/vgabios/vgabios.bin 注意路径与windows下使用的文件的区分
# what disk images will be used
floppya: 1_44=freedos.img, status=inserted
floppyb: 1_44=pm.img, status=inserted
# choose the boot disk.
boot: a
# where do we send log messages?
# log: bochsout.txt
# disable the mouse
mouse: enabled=0
# enable key mapping, using US layout as default.
keyboard_mapping: enabled=1, map=/usr/share/bochs/keymaps/x11-pc-us.map 注意路径问题