歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Unix知識 >> Unix基礎知識 >> Bochs啟動問題

Bochs啟動問題

日期:2017/2/25 10:12:58   编辑:Unix基礎知識
1. 安裝Bochs

$ sudo apt-get install bochs

2. 修改配置文件$ cp /etc/bochs-init/bochsrc ./

$ vi bochsrc

因為我是用Bochs來調試boot.s(操作系統啟動代碼),所以要用軟盤做啟動盤,所以我做如下改動:

floppya: 1_44=/dev/fd0, status=inserted

改成

floppya: 1_44=a.img, status=inserted

其中,a.img是我的軟盤鏡像文件。如何制作,我會在下一篇中介紹。

boot:c

改成

boot:a

a盤即軟盤啟動

ips:1000000

改成

cpu: count=1, ips=1000000

Message:ROM:System BIOS must end at 0xfffff

解決辦法:

修改配置文件

$ vi bochsrc

romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000

改成

romimage:file=/usr/share/bochs/BIOS-bochs-latest

原因:

在2.2.5以前的版本,Bochs的BIOS大小為64K,需要指定起始地址為0xf0000.之後的版本可支持512K的BIOS鏡像。現在默認用的BIOS-bochs-latest的好像是128K(官方說法),我看了一下是132K.反正不需要指定起始地址了。

00000000000i[PAR ] parallel port 1 at 0x0378 irq 7

00000000000p[PAR ]>>PANIC<< Could not open '/dev/lp0' to write parport1 output

========================================================================

Event type:PANIC

Device:[PAR ]

Message:Could not open '/dev/lp0' to write parport1 output

解決辦法:

編輯配置文件

parport1: enabled=1, file="/dev/lp0"

改成

parport1: enabled=1, file="parport.out"

或直接在行首加#注釋掉。這個是並口設備,一般給打印機用。修改後,會把發往並口的數據寫到parport.out裡。

啟動後程序進入死循環,鼠標鍵盤都無法響應

解決辦法:

按Ctrl+Alt+F1,啟動另一個tty,以root身份登錄,然後

#top

在列表中找到進程bochs-bin的PID,按k,輸入那個PID直,回車,再按q退出;

#exit

退出root,按Ctrl+Alt+F7(也可能是別的,挨個試)回到原來的用戶,此時Bochs已被關閉。

如果Ctrl+Alt+F1不好使,那就想別的方法(比如遠程)登錄到你的機器,執行相同的操作。

差不多就碰到這麼多問題。

Copyright © Linux教程網 All Rights Reserved