Bochs的安裝配置

[轉載] 原文:https://blog.csdn.net/bychen623/article/details/53619084 

Bochs:爲多平臺設計的x86架構模擬器/虛擬機

材料: 
1、Ubuntu16.04LTS 
2、Bochs-2.6.8

一、安裝步驟: 


1、到官網上下載Bochs-2.6.8.tar.gz 下載鏈接

下載源碼而不直接使用sudo apt-get install vgabios bochs bochs-x bximage命令行安裝是因爲我們還要安裝Bochs的調試功能

2、解壓下載好源碼:

tar zxvf bochs-2.6.8.tar.gz


3、進入解壓後的目錄,然後執行命令行:

./configure --enable-debugger --enable-disasm
make
sudo make install


注意: 
第1條是開啓Bochs的調試和反彙編功能; 
安裝過程中可能出現一些問題,一般都是一些包和引用沒有安裝,下面是我遇到的幾個問題及解決方案:

錯誤1:fatal error: X11/Xlib.h: No such file or directory 
解決方案:sudo apt-get install libx11-dev

錯誤2:fatal error: X11/extensions/Xrandr.h: No such file or directory 
解決方案:sudo apt-get install xorg-dev

安裝成功後,在終端輸入bochs即可看到bochs的畫面了: 

Bochså¨ç»ç«¯æ¾ç¤ºççé¢


二、配置Bochs 


安裝好Bochs後,接下來就需要對Bochs進行配置了,如果你不自己寫配置文件的話,執行bochs命令時Bochs會自己在當前目錄順序尋找以下文件作爲默認配置文件: 
.bochsrc 
bochsrc 
bochsrc.txt 
bochsrc.bxrc(僅對Windows有效)

我們可以通過ls -a命令看到Bochs安裝目錄下的所有文件: 

Bochså®è£ç®å½ä¸æææ件
然後可以進入到.bochsrc文件裏面查看自帶的配置信息

在這裏我們自己創建一個名叫bochsrc的配置文件,來告訴Bochs我們想要的虛擬機是什麼樣子的,下面就是我的配置文件:

#################################################################
# Bochs的配置文件
# Configuration file for Bochs
#################################################################

# how much memory the emulated machine will have
megs: 32

# filenameof ROM images
romimage:file=/usr/local/share/bochs/BIOS-bochs-latest
vgaromimage:file=/usr/local/share/bochs/VGABIOS-lgpl-latest

# which disk image will be used 這個是啓動軟盤,我們虛擬出來的那個a.img
floppya:1_44=a.img, status=inserted

# choose the boot disk 確定啓動方式
boot: floppy

# where do we send log messages?
log: bochsout.txt

# disable the mouse
mouse: enabled=0

# enable key mapping ,using US layout as default
keyboard:keymap=/usr/local/share/bochs/keymaps/x11-pc-us.map


注意這裏要確保romimage和vgaromimage這兩項的路徑是正確的,不然虛擬機啓動時會提示“couldn’t open ROM image file”的錯誤,還有Bochs的版本不一樣的話,鍵盤設置的方式也不太一樣。

接下來再來說一說如何創建鏡像,bochs創建鏡像是特別簡單的,只需要敲下面命令:

bximage

然後會有幾個選項(紅框框裏面的),第一個是選擇生成硬盤鏡像還是軟盤,我們選擇fd;第二個是鏡像大小選擇,1.44就可以了;第三個是命名,這裏隨便自己了。

三、最簡單的操作系統 


那麼接下來,我們就要開始寫一個最簡單的操作系統了,這個代碼全由彙編完成,而且只有不到20行:

    org    07c00h
    mov    ax, cs
    mov    ds, ax
    mov    es, ax
    call   DispStr
    jmp    $
DispStr:
    mov    ax, BootMessage
    mov    bp, ax
    mov    cx, 16
    mov    ax, 01301h
    mov    bx, 000ch
    mov    dl, 0
    int    10h
    ret
BootMessage:    db    "Hello, OS world!"
times    510-($-$$)    db    0
dw       0xaa55


用NASM編譯一下這段代碼:

nasm boot.asm -o boot.bin


k然後在boot.asm的目錄下我們可以看到多了一個512字節的boot.bin文件,這個文件就要被我們寫入到軟盤裏面。這裏當然你可以寫入到一個真實的空白軟盤上,但是現在基本上都已經見不到軟盤了吧,所以我們這裏就用Bochs來虛擬出所需要的軟盤。

四、Bochs的使用 


1.創建軟盤映像: 
輸入sudo bximage,然後在問到要創建hd還是fd的時候,輸入fd,之後就一直回車默認就行了 

bximageè¿ç¨


2.這下我們通過虛擬,有了計算機,又有了軟盤,是時候將我們剛剛編譯好的引導扇區寫進軟盤了,Linux下自帶了dd命令可以很方便地進行軟盤讀寫:

sudo dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc


软çåå¥


一切準備就緒,是時候進行啓動Bochs了,進入到你的boot.bin所在目錄下,然後在終端輸入命令:

sudo bochs -f bochsrc


注意:這裏要特別注意bochsrc就是我們第二步寫的那個配置文件,因爲安裝Bochs成功之後可以在任意地方使用bochs命令了,但是要使用我們的配置文件bochsrc的話就需要加上絕對路徑,比如非Bochs安裝目錄下運行bochs的命令如下:

sudo bochs -f /home/bychen/downloads/bochs-2.6.8/bochsrc


輸入回車, 
(注意:如果這裏出現是一個什麼都沒有的一片黑色的界面的話,那是因爲我們這裏是帶調試模式的Bochs,回車之後還需要一次回車,然後在出現Bochs提示符之後輸入“c”,再次回車) 


看到Bochs界面上出現的“Hello, OS world!” 
這就是一個最簡單的操作系統了~ 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章