安裝一系列的包。
首先,linux 系統需要安裝了x window系統才能使用bochs。
因bochs是由c++寫的,需先安裝gnu gcc/g++編譯器。
安裝命令如下:
sudo apt-get install build-essential
sudo apt-get install xorg-dev
sudo apt-get install bison
sudo apt-get install libgtk2.
0-dev
sudo apt-get install g++
解壓壓縮包
tar zxvf bochs-2.6.9.tar.gz
編譯在 bochs-2.6.9 目錄下,開始configure、make、make install三部曲。
.
/configure \
--prefix=
/root/bochs \
--enable-debugger \
--enable-disasm \
--enable-iodebug \
--with-x \
--with-x11
make
若編譯時沒有問題,就直接執行:
make install
為了模擬計算機,需要寫乙個配置檔案,bochs啟動時會找到此檔案,根據檔案內容建立自己。
在安裝目錄下有樣本檔案:share/doc/bochs/bochsrc-sample.txt。摘取重點內容,關於啟動順序,可參見該檔案的以下幾行:
配置檔案bochsrc.disk放在 bochs 的安裝目錄下。(bochs配置檔案位置不固定,名字也不要求固定),加disk是作者為了表示此配置檔案的內容是從硬碟啟動。
# configuration file for bochs
# 第1步,設定bochs在執行中能夠使用的記憶體,32mb
megs :
32# 第2步,設定對應真實機的bios和vga bios。
romimage: file=
/root/bochs/share/bochs/bios-bochs-latest
vgaromimage: file=
/root/bochs/share/bochs/vgabios-lgpl-latest
# 第3步,設定bochs所使用的磁碟
# 若只有乙個軟盤,則使用floppya即可;多個則使用floppya,floppyb...
#floppya: 1_44=a.img, status=inserted
# 第4步, 選擇啟動碟符
#boot: floppy #預設從軟盤啟動,將其注釋
boot: disk #改為從硬碟啟動。**寫在硬碟上,不會有讀寫軟盤的操作。
# 第5步,設定日誌檔案的輸出
log: bochs.out
# 第6步,開啟或關閉某些功能
# 關閉滑鼠,開啟鍵盤
mouse: enable=
0keyboard: type=mf, keymap=
/root/bochs/share/bochs/keymaps/x11-pc-us.map
# 硬體設定
ata0: enable=
1, ioaddr1=
0x1f0
, ioaddr2=
0x3f0
, irq=
14
在安裝目錄下執行bin/bochs
命令:
預設提示符,準備讀取選項,也就是配置檔案,直接按回車。
載入成功後給出缺省選項 begin simulation,繼續回車後,c
命令執行。
輸出如下提示「no bootable device」,原因是沒有建立啟動盤。
bochs 提供了建立虛擬硬碟的工具 bin/bximage。
直接輸入bin/bximage
命令根據提示進行建立。
建立好後,根據下圖中提示,把紅色框中的配置資訊新增更新到我們之前的 bochsrc.disk 中。
可以指定配置檔案,使用bin/bochs -f bochsrc.disk
命令,回車:
還是報錯提示「no bootable device」,但與之前原因不同:『boot failed: not a bootable disk」。具體原因下章再講。
《作業系統真象還原》 閱讀筆記(上)
配置bochs,進入bochs simulator後一直是黑屏,原來預設是除錯模式,需要輸入c continue 來讓除錯繼續。主講mbr及進入mbr前的步驟 1.實模式只能訪問1mb的記憶體空間。2.bios在rom中。3.開機上電後cs ip指向記憶體0xfff0,這裡有個跳轉語句,轉到fe05...
《作業系統真象還原》 閱讀筆記(中)
作業系統是由中斷驅動的。中斷分為外部中斷和內部中斷。外部中斷分為可遮蔽中斷和不可遮蔽中斷,內部中斷分為軟中斷和異常。外部中斷 來自cpu外部的中斷。可遮蔽中斷 通過intr引腳進入cpu,外部裝置如硬碟 網絡卡 印表機等發出的中斷 cpu可以不理會,因為不會宕機。linux把中斷分為上半部和下半部分...
《作業系統 真象還原》書評
首先我對這本書的評價是正面的,這是一本還算不錯的書。請以這個基調閱讀本文。我也從來沒寫過書評,只不過這本書實在是讓人忍不住要寫一下,因為各種各樣的原因。這本書大致就是在bochs虛擬機器上面,實現乙個簡單的作業系統,實現的內容包括 mbr,loader,記憶體管理,中斷管理,檔案管理,系統呼叫,多程...