BOCHS模拟器配置和使用
BOCHS是一个轻量级小型系统模拟器。它可以用来开发引导模块,测试系统。
BOCHS一开始上手不容易配置。
+++ 新版本BOCHS 安装默认关联后辅助后缀名.bxrc。bochsrc.bxrc 可直接启动bochs +++
+++ 安装BOCHS 勾选dlxlinux 安装文件,dlxlinux 例子是错误的,可去原官方下载更新+++
+++++++++++++++++++++++++++ BOCHS官网+++++++++++++++++++++++++++++++
简单的配置
megs: 32
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vga: extension=vbe, update_freq=15
floppya: 1_44=a.img, status=inserted
#ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17
#ata0-slave: type=cdrom, path=D:, status=inserted
#boot: cdrom, floppy, disk,network
boot: a
#log: bochsout.txt
mouse: enabled=0
cpu: ips=15000000
pci: enabled=1, chipset=i440fx
megs 是模拟器需要的内存
模拟器需要两个固件模块
romimage 和 vgaromimage
BIOS模块和VGA显示模块
BOCHS这两个模块有多种组合选择。
VGA:
VGABIOS-lgpl-latest-cirrus
VGABIOS-lgpl-latest-cirrus-debug
VGABIOS-lgpl-latest
VGABIOS-lgpl-latest-debug
VGABIOS-lgpl-latest-banshee
VGABIOS-elpin-2.40
vgabios-cirrus.bin-1.13.0
BIOS:
bios.bin-1.14.0
bios.bin.elf-1.14.0
BIOS-bochs-latest
BIOS-bochs-legacy
BIOS-qemu-latest
vga: 这扩展可以是none,vbe,cirrus,voodoo
加软驱镜像,光驱,硬盘镜像
软驱镜像可以用bximage这个软件生成。
bximage 这个软件用法
boot:这参数后面可以是盘符字母 a,b,c
在boot参数前可以挂光驱
ata0-slave: type=cdrom, path=D:, status=inserted
D:是实际光驱的盘符
光驱配置的一个例子:
# configuration file generated by Bochs
config_interface: win32config
display_library: win32, options="traphotkeys, autoscale"
megs: 64
romimage: file=BIOS-bochs-legacy, options=fastboot
vgaromimage: file=VGABIOS-lgpl-latest
vga: extension=vbe, update_freq=15
floppya: 1_44=a.img, status=inserted
floppyb: 1_44=b.img, status=inserted
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path=new.img
ata0-slave: type=cdrom, path=G:, status=inserted
boot:cdrom,disk
log:-
logprefix: %t-%e-@%i-%d
pci: enabled=1, chipset=i440fx
print_timestamps: enabled=0
#magic_break: enabled=0
port_e9_hack: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local, rtc_sync=0
# no cmosimage
# no loader
keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none
mouse: type=ps2, enabled=0, toggle=ctrl+mbutton
sound: waveoutdrv=dummy, waveout=none, waveindrv=dummy, wavein=none, midioutdrv=dummy, midiout=none
speaker: enabled=1, mode=sound, volume=15

光盘引导的蓝点linux 2.0
如果boot:network 这个网络引导的话,我们可以用bxhub.exe这个软件。
网卡参数要配好
ne2k: ioaddr=0x300, irq=3, mac=b0:c4:20:00:00:00, ethmod=win32, ethdev=\Device\NPF_{1107B65B-B8FE-452A-8014-F992480263F9}
这个网卡参数可以用niclist.exe这个工具命令寻找。
这个是实际的网卡配置,如果想用虚拟网卡是不一样的,默认包没有这个插件或包含在其它版本中。ne2k的网卡配置是bochs的默认配置。
bxhub.exe 这个软件要在cmd命令行下使用,加上参数:
bochsrc 的第一栏加
plugin_ctrl: ne2k=1
# configuration file generated by Bochs
plugin_ctrl: ne2k=1
config_interface: win32config
display_library: win32, options="traphotkeys, autoscale"
megs: 64
romimage: file=BIOS-bochs-latest, options=fastboot
vgaromimage: file=VGABIOS-lgpl-latest
vga: extension=vbe, update_freq=15
floppya: 1_44=a.img, status=inserted
floppyb: 1_44=b.img, status=inserted
boot:network
log:-
logprefix: %t-%e-@%i-%d
pci: enabled=1, chipset=i440fx
print_timestamps: enabled=0
#magic_break: enabled=0
port_e9_hack: enabled=0
private_colormap: enabled=0
clock: sync=none, time0=local, rtc_sync=0
# no cmosimage
# no loader
ne2k: ioaddr=0x300, irq=3, mac=b0:c4:20:00:00:00, ethmod=win32, ethdev=\Device\NPF_{1107B65B-B8FE-452A-8014-F662480263F9}
keyboard: type=mf, serial_delay=250, paste_delay=100000, user_shortcut=none
mouse: type=ps2, enabled=0, toggle=ctrl+mbutton
sound: waveoutdrv=dummy, waveout=none, waveindrv=dummy, wavein=none, midioutdrv=dummy, midiout=none
speaker: enabled=1, mode=sound, volume=15
网卡配置如果没有网卡ROM还要有ROM,网卡的ROM分三大类,一个是netware网,一个是RPL(win95)网,一个是PXE(tftpd服务)网,这些ROM现在在某些网站收费,实际上,早期的NE2000卡驱动盘,还有R8139卡驱动盘包含ROM。有这些老驱动盘的人注意了。这些ROM现在是有价值的。
gPXE 在(http://git.etherboot.org/?p=gpxe.git)
下载