参考了ORANGE‘S 一个操作系统的实现,用BOCHS实践调试操作系统,记录如下:
1.BOCHS的安装采用的是源码自行编译带DEBUGGER选项的方式。否则没有单步执行能力。
2.采用BOCHS 2.6.8.在UBUNTU14.04上试验成功。采用的配置文件是基于源码目录中的BOCHSRC修改而来的,启动盘用floppya,用a.img代替.完整内容如下:
cpu: count=1, ips=10000000, reset_on_triple_fault=1, ignore_bad_msrs=1
memory: guest=512, host=256
romimage: file=
BXSHARE/BIOS−bochs−latestvgaromimage:file=
BXSHARE/VGABIOS-lgpl-latest
mouse: enabled=0
pci: enabled=1, chipset=i440fx
private_colormap: enabled=0
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9
boot: floppy
floppy_bootsig_check: disabled=0
log: bochsout.txt
panic: action=ask
error: action=report
info: action=report
debug: action=ignore, pci=report # report BX_DEBUG from module ‘pci’
debugger_log: -
parport1: enabled=1, file=”parport.out”
speaker: enabled=1, mode=sound
floppya: 1_44=a.img, status=inserted
megs: 32
3.试过大部分的BOCHS指令都可用,只有INFO CPU不能执行。