Bochs是一套用來模擬IA32架構的模擬器,可以模擬一台完整的PC:CPU, Memory, Disk...等,更棒的是在Debug模式中可以單步執行並隨時觀察CPU暫存器狀態或是記憶體資訊,對於學習PC底層有滿大的幫助,以下記錄下載Source包裝編譯安裝與執行的步驟。
- 到Bochs官網下載Source Code與Disk Image
目前最新Source Code版本是bochs-20121103.tar.gz
Disk Image這裡用FreeDos作為範例
- 完成下載後先對Source Code解壓縮
tar zxvf bochs-20121103.tar.gz
- 作編譯前的設定:這邊開啟Debug與反組譯功能
./configure --enable-debugger --enable-disasm
- 編譯與安裝
make
sudo make install
- 以上步驟完成安裝程序, 接下來把下載好的FreeDos映像檔解壓縮
tar zxvf freedos-img.tar.gz
- 切到解壓縮的目錄裡會看到會看到a.img, b.img, bochsrc, 與c.img這幾個檔案, 用gedit編輯器編輯bochsrc設定檔如下[註]
1
2
3
4
5
6
7
8
9
10
11
| megs: 32
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
vga: extension=vbe
floppya: 1_44=a.img, status=inserted
ata0-master: type=disk, path=c.img, cylinders=306, heads=4, spt=17
boot: floppy
log: bochsout.txt
mouse: enabled=0
cpu: ips=15000000
vga_update_interval: 150000
|
- 接著執行bochs即可, 第一個選擇畫面直接選擇6. Begin simulation即可運行模擬器
- 但因為編譯設定時有選擇debug模式, 所以會先trap在一開始, 畫面如下:只要輸入c並按下enter模擬器就會繼續執行
- 最後成功進入Dos的畫面截圖如下:
[註] bochs執行時可以用-f參數指定要帶起的模擬器參數設定檔, 若沒指定的話則會在當前目錄下依序找尋以下檔案作為設定檔:
- .bochsrc
- bochsrc
- bochsrc.txt
- bochsrc.bxrc (Windows Only)
沒有留言:
張貼留言