我的配置Bochs的做法很多是问有钱跟小K的。这里再加上自己的经验总结一下。
我定义Bochs主要有两种方式: 1.“集中式”(小K)2 “分布式”(有钱)。
1)集中式:主要是把文件配置在Bochs目录底下的一个bochsrc-sample.txt文件改名成为bochsrc.txt,在这里面配置Bochs的文件。运行的时候需要到bochs目录下输入bochs运行。
在这文件需要改动的几项:
主要的是romimage,vgaromimage,boot,floppya,ata0,ata0-master这几项。
(下面是小K的配置)
romimage: file=D:\BIOS-bochs-latest, address=0xf0000
#(file=后面是BIOS-bochs-latest存在路径,当然你得先确定在你的系统上面这个文件哪里,然后填在这里即可,下面的以此类推)
vgaromimage: file=D:\VGABIOS-lgpl-latest
#(同上解释)
floppya: 1_44=D:\fd.img, status=inserted
#(这里1_44=后面填的是你编译运行得到的映象文件的路径, status=inserted 那里不用删除)
boot: floppy
#(确定是从软驱启动)
#ata0-master: type=disk, mode=flat, path="D:\Program Files\Bochs-2.2.1\c.img", cylinders=615, heads=6, spt=17
#ata0-slave: type=cdrom, path=D:, status=inserted
#ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
#ata0-slave: type=cdrom, path="drive", status=inserted
#ata0-slave: type=cdrom, path=/dev/rcd0d, status=inserted
(这里是硬盘的定义,建议注释掉,不然bochs总是报错)
#需要补充一点,就是project1的时需要用到硬盘的镜像文件,这里需要改成(这里需要注意的是disk.img前面写全路径)
ata0: enabled=1,ioaddr1=0x1f0,ioaddr2=0x3f0,irq=14
ata0-master: type=disk,path=diskc.img,mode=flat, cylinders=40, heads=8, spt=64,translation=none
2 分布式:(有钱用这种)
这种是因为文件架里面有.bochsrc文件(在Linux下隐藏的,需要ls –a 命令。这个文件就是bochs对这个工程的的配置文件。进入到build文件架,直接键入bochs命令就可以运行了(如果在cywin中需要把bochs.exe文件放在CyWin\bin中,这样你随便到那个地方,键入bochs就可以运行了)。
同样配置的时候注意几个地方:
vgaromimage: file=/usr/share/bochs/VGABIOS-lgpl-latest
romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000
boot: a
ata0: enabled=1,ioaddr1=0x1f0,ioaddr2=0x3f0,irq=14
ata0-master: type=disk,path=diskc.img,mode=flat, cylinders=40, heads=8, spt=64,translation=none
floppya: 1_44=fd.img, status=inserted
基本上就是上面几个(直接可以用),如果你在这个工程可以运行的话,基本上你把这个文件放在其它工程的build文件架上也可以同样使用。