bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量、bochs的System BIOS must end at 0xfffff错误、运行内核0.00版本
經(jīng)過前面的一些操作,目前只能用bochs調(diào)試linux 0.11內(nèi)核的啟動部分;下面來繼續(xù)學習相關(guān)內(nèi)容;
根據(jù)資料,在內(nèi)核0.11之前,還有更小的內(nèi)核0.00版本需要認識;在此下載;
http://oldlinux.org/Linux.old/bochs/linux-0.00-050613.zip
下載了一個解壓版的bochs;在bochs目錄建立00目錄;
?
把下載的.00版本相關(guān)文件拷貝到00目錄下;
?
建立run.bat,內(nèi)容如下;
cd "Y:\dddd1013-001-cd-2021\Bochs\Bochs\00"
..\bochsdbg -q -f bochsrc-0.00.bxrc
第一行,切換到自己建立的00目錄;第2行,使用該行給出的.bxrc配置文件來運行bochs虛擬系統(tǒng);
run一下之后,出現(xiàn)下圖錯誤;找不到 BXSHARE 環(huán)境變量;
?
記事本打開.bxrc文件,將所有使用的$BXSHARE替換為當前bochs的安裝目錄,我目前是Y:\dddd1013-001-cd-2021\Bochs\Bochs;注釋語句中的$BXSHARE不用管;
然后再run;提示 floppy_command_delay 這行不理解,
?
加#注釋掉;
?
又提示 ips 不理解,
?
注釋掉;
?
再運行,出現(xiàn)下圖錯誤;
?
錯誤消息,
? ? ROM: System BIOS must end at 0xfffff
根據(jù)資料,需要把
? ? romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
? ? ? ? 改成
? ? romimage: file=$BXSHARE/BIOS-bochs-latest
只有古老系統(tǒng)才會出現(xiàn)此錯誤消息;
改了以后,再run, 此時軟盤放入的是0.00版本內(nèi)核image文件;運行起來只是循環(huán)輸出A和B字符;
?
有時間再繼續(xù);?
?
總結(jié)
以上是生活随笔為你收集整理的bochs调试linux内核学习4 - bochs配置文件的$BXSHARE变量、bochs的System BIOS must end at 0xfffff错误、运行内核0.00版本的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: DevCon工具基本使用
- 下一篇: linux内核dentry结构学习