linux下bochs的安裝及簡單運行

來源:互聯網
上載者:User

http://bochs.sourceforge.net/    bochs官網。關於bochs不再累述。

我是在UBUNTU下用包管理軟體apt-get裝的bochs.命令

apt-get install bochs

這是一個沒有調試環境的安裝,先感受一下小成功的滋味。。呵呵

這樣的安裝後,在命令列下執行$bochs會跳出一個配置介面,表害怕,這說安裝成功啦。仔細閱讀他的提示會發現是沒有設定檔

(設定檔bochsrc,ROMIMAGE,VGAROMIMAGE。這些不解釋。自己查)。你可以配置一個簡單的bochsrc。內容如下:

  1###############################################################
  2 # Configuration file for Bochs
  3 ###############################################################
  4
  5 # how much memory the emulated machine will have
  6 megs: 64
  7
  8 # filename of ROM images
  9 romimage: file=/usr/share/bochs/BIOS-bochs-latest
 10
 11 # what disk images will be used
 12 floppya: 1_44=a.img, status=inserted
 13
 14 # choose the boot disk.
 15 boot: floppy
 16
 17 # where do we send log messages?
 18 # log: bochsout.txt
 19
 20 # disable the mouse
 21 mouse: enabled=0
 22
 23 # enable key mapping, using US layout as default.

 

這個檔案至少可以使bochs能共運行嘿嘿,因為網上高手都是安裝後直接運行就行啦,可是小弟的就是沒有。出現各種錯誤,,可能是你的bochs沒找到設定檔,而你從網上複製的是比較長,專業,但是有的檔案可能版本不同,路徑不同,所以在啟動時就會出現找不到的錯誤,這是個最簡單的。很多都用的是你安裝軟體的預設路徑。關於設定檔的書寫,最好的就是man bochsrc,標準教程

下面是一個開機檔案,是《linux核心完全剖析)第三章的例子,很簡單的功能,

*******************************************************************************************************************************************************

  1!
  2 !boot.s -- bootsect.s 的架構程式。用代碼0x07替換msag中1字元,然後在螢幕第一行上顯示
  3 !
  4
  5 .globl begtext,begdata,begbss,endtext,enddata,endbss     !全域識別碼,供ld86連結使用
  6 .text                                                    !本文段
  7 begtext:
  8 .data                                                    !資料區段
  9 begdata:
 10 .bss                                                     !未初始化資料區段
 11 begbss:
 12 .text                                                    !本文段開始
 13 BOOTSEG = 0x7c0                                          !BIOS載入bootsect代碼的原始段地址。
 14
 15
 16 entry start                                              !告知連結程式,程式從strat標號處開始執行
 17
 18 start:
 19         jmpi  go,BOOTSEG                                 !段間跳轉。BOOTSEG指出跳轉段的地址,標號go是位移地址
 20 go:     mov   ax,cs                                      !段寄存器cs值-->ax,用於初始化資料區段寄存器ds和es
 21         mov   ds,ax
 22         mov   es,ax
 23         mov   [msg1+17],ah                               !0x07-->替換字串1個點符號,喇叭會鳴一聲
 24         mov   cx,#20                                     !共顯示20個字元,包括斷行符號分行符號
 25         mov   dx,#0x1004                                 !字串顯示在螢幕第17行,第5列處
 26         mov   bx,#0x000c                                 !字元顯示內容(紅色)
 27         mov   bp,#msg1                                   !指向要調用的字串(中斷調用要求)
 28         mov   ax,#0x1301                                 !寫字串並移動游標到串結尾處
 29         int   0x10                                       !BIOS中斷調用0x10,功能0x13,子功能01
 30 loop0:  jmp   loop0                                      !死迴圈
 31
 32 msg1:   .ascii "Loading system..."                       !調用BIOS中斷顯示的資訊。共20個ASCII碼字元。
 33         .byte  13,10
 34
 35
 36 .org    510                                              !表示以後語句從地址510(0x1FE)開始存放
 37         .word 0xAA55                                     !有效開機磁區標誌,供BIOS載入開機磁區使用。
 38
 39 .text
 40 endtext:
 41 .data
 42 enddata:
 43 .bss
 44 endbss:
*************************************************************************************************************************************

編譯過程:

$as86 -0 -a -o boot.o boot.s

$ld86 -0 -s -o boort boot.o

$dd bs=32 if =boot of=a.img skip=1

這樣然後啟動bochs可以看到螢幕上的“loading system"

程式的解釋及編譯過程下篇文章

¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥

上面是簡單的bochs安裝與實驗,安裝成功很簡單,但是不會帶調試,要帶調試要原碼編譯:

本來也不是多複雜

安裝bochs:
然後到bochs官方網站下載源碼包 bochs-2.4.6.tar.gz
解壓此檔案:

tar  vxzf   bochs-2.4.26tar.gz
cd bochs-2.4.2
./configure   --enable-debugger   --enable-disasm
make
sudo  make install

可是ubuntu少裝的東西真是不少(至少我的是)

sudo   apt-get    bulid-essional (如果以前安裝過就免了)
sudo apt-get install xorg-dev

但是裝著兩個估計你看到的期望的場面的幾率很小

我的還有一個gtk沒有裝等等。。。。

出現的調試錯誤直接把錯誤資訊甩到google上。會找到答案。

望兄弟們一遍成功

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.