系統 ubuntu 14.10 +bochs 2.6.8
安裝一些組件:
sudo apt-get install vgabios bochs-x bximage nasm
安裝有調試功能的bochs:
上bochs官網下載源碼:http://bochs.sourceforge.net/
編譯安裝:
tar vxzf bochs-2.6.8.tar.gz
cd bochs-2.6.8
./configure --enable-debugger --enable-disasm //打開調試功能
make
sudo make install
其中make步驟會出現一些錯誤,根據錯誤解決相關問題,其中大多是缺少相關庫或者頭文件
其中我遇到的問題是:bochs-2.6.8/gui/x.cc文件未編譯成功
錯誤提示爲: error: X11/extensions/Xrandr.h: No such file or directory
can't find bochs-2.6.8/gui/x.o
解決辦法:sudo apt-get install xorg-dev
編寫boot.asm源碼
編譯;nasm boot.asm -o boot.bin
用dximage創建一個虛擬軟盤a.img
把boot.bin寫到軟盤中:dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc (conv=notrunc參數是爲了防止軟盤映像文件被截斷)
編寫brochsrc文件,可以從/etc/bochs-init/下複製brochsrc文件到你a.img文件目錄下,修改爲floppy啓動,把romimage: file=/usr/share/bochs/BIOS-bochs-latest,address=0xf0000去掉address=0xf0000,運行虛擬機時輝出錯,並把與書上內容不同的東西註釋掉,不然運行時也會出錯。
進入a.img文件所在目錄,運行:bochs -f bochsrc 運行虛擬機