关于BOCHS轻量PC模拟器配置和辅助工具。

Peirre3年前我的杂物497

BOCHS是一个轻量级小型系统模拟器。它可以用来开发引导模块,测试系统。
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 这个软件用法

F.jpg

  1. 建立新软驱或磁盘镜像

  2. 转换硬盘镜像到另一模式

  3. 调节硬盘镜像大小

  4. 添加“可撤消”恢复日志提交到基本映像

  5. 磁盘信息

注:redolog 文件是image文件的辅助

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

2.jpg如果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-F9924XXXXXX}

这个网卡参数可以用niclist.exe这个工具命令寻找。

1.jpg

这个是实际的网卡配置,如果想用虚拟网卡是不一样的,默认包没有这个插件或包含在其它版本中。ne2k的网卡配置是bochs的默认配置。
bxhub.exe 这个软件要在cmd命令行下使用,加上参数:

3.jpg

注:zjqpxe 这个目录是小小强网络工具箱的实用启动资料包。

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)下载(gPXE)是共享免费的PXE模块,还有pxelinux.0。


相关文章

Ubuntu Linux  19.10 下 完善街机模拟器。

Ubuntu Linux 19.10 下 完善街机模拟器。

Ubuntu linux 下有个共享软件库,可以用apt软件工具下载,当中有个街机模拟器叫mame。让我们一起免费在家玩街机游戏吧。nantz@nantz-desktop:~$ sudo apt li...

linux mint 下的网桥设置,附window 10 网桥的建立。

linux mint 下的网桥设置,附window 10 网桥的建立。

家有板载双网卡的电脑一台,一直以来都是正常使用。接一个网线,直接通过路由上网。另外一个网卡不知道怎么使用一直是备用状态。今天大年初一,心情比较轻松。于是试了一下另外的一个网卡。我的迷你电脑有两个端口,...

有幸找到IP分析源码。

有幸找到IP分析源码。

这两天翻硬盘资料,找到windows 2000关于网络IP的一份源码。看见网络上只有CSDN处有一份,于是贴了出来,含源码分析。inet_addr函数_misterliwei的专栏-CSDN博客_in...

CPUID这个汇编指令到底有什么用。先谈谈01子功能。

CPUID这个汇编指令到底有什么用。先谈谈01子功能。

最近在翻览intel公司的CPU开发白皮书,对CPUID这个指令做了一下了解。CPUID这个指令就像一个功能函数一样,只要CPU的寄存器EAX有数据,它会在执行CPUID指令后返回到EAX,EBX,E...

谈谈数字数据IP接收

谈谈数字数据IP接收

要说数字接收,早期是用来看股票传股票数据的,最早要算通视接收卡了。通视接收升级了好多代。可以从卫星下载通视卡专用软件,后来的通视卡可以免费看网页。在只有36K/秒和56K/秒的互联网时代,通视卡算是省...

这几天的木讷。

8月份,天气暖和,几天有雨。生活中不知道说些什么,每天过着扫地生活。世界新闻,塔利班成了阿富汗政府。是一个快节奏的新闻。这几年的世界,变化有点大。不过以前也没关注过什么。自己的生活感觉就样乱石堆。曾经...