青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

斜樹的空間

集中精力,放棄一切的去做一件事情,只要盡力了,即使失敗了,你也不會后悔!

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  47 隨筆 :: 0 文章 :: 12 評論 :: 0 Trackbacks
作者:王聰

引言

     最近在做操作系統(tǒng)方面的研究,不得不去下一個虛擬機 來用。由于我不使用Windows,所以選擇很少了。因為在Linux上,差不多就只有兩款好的 虛擬機——Bochs和Qemu。這兩個之中,Bochs是用C++編寫,能在很多平臺上使用,而且不論什么平臺, 它都不倚賴主機的指令系統(tǒng),總是模擬x86。所以我選擇了Bochs。但是,我驚訝地發(fā)現(xiàn) 關(guān)于如何在Linux上使用Bochs的資料很少。Bochs自帶的文檔中講得也不很明確,而且還 是英文的。所以我寫了這篇文章。

安裝

     到Bochs的主頁: http://bochs.sourceforge.net 上下載最新的Bochs RPM安裝包。(寫這篇文章時,最新的版本是2.2.1。)以root的身份安裝:

#rpm -ivh bochs-2.2.1-1.i586.rpm
其實RPM安裝包給你裝上了四個新程序:bochs,bochs-dlx,bximage,bxcommit, 以及相關(guān)文檔。安裝完畢后,你可以先試試bochs-dlx,它是DLX Linux的一個demo。
$ bochs-dlx
---------------------------------------------------------------
             DLX Linux Demo, for Bochs x86 Emulator
---------------------------------------------------------------
Checking for bochs binary...ok
Checking for DLX linux directory...ok
Checking for /usr/bin/gzip...ok
Checking for /home/wangcong/.bochsdlx directory...ok
Entering /home/wangcong/.bochsdlx
Running bochs
00000000000i[APIC?] local apic in initializing
========================================================================
                         Bochs x86 Emulator 2.2.1
                 Build from CVS snapshot on July 8, 2005
========================================================================
00000000000i[ ] LTDL_LIBRARY_PATH not set. using compile time default '/usr/lib/bochs/plugins'
00000000000i[ ] BXSHARE not set. using compile time default '/usr/share/bochs'
00000000000i[ ] reading configuration from bochsrc.txt
00000000000i[ ] lt_dlhandle is 0x8bac490
00000000000i[PLGIN] loaded plugin libbx_x.la
00000000000i[ ] installing x module as the Bochs GUI
00000000000i[ ] using log file bochsout.txt

馬上,你就會看到一個X11窗口。



顯示的是VGA BIOS信息,然后是加載Linux的信息。以root身份登錄,試試DLX Linux。安裝成功。

使用

     下面是一些重要的文件:

/usr/bin/bochs Bochs啟動程序
/usr/bin/bximage Bochs帶的制作磁盤鏡像文件的工具
/usr/bin/bxcommit 把redolog放進flat磁盤鏡像文件中去的交互工具
/usr/share/doc/bochs/bochsrc-sample.txt Bochs配置文件的例子
/usr/share/bochs/BIOS-bochs-* ROM BIOS鏡像文件
/usr/share/bochs/VGABIOS-* 與VGA BIOS鏡像文件相關(guān)的文件
/usr/bin/bochs-dlx 啟動Bochs中DLX linux的程序
/usr/share/bochs/dlxlinux/ DLX Linux的目錄,包含它的磁盤鏡像文件和配置文件
/usr/share/bochs/keymaps/*.map X11和SDL的keymap列表

     命令bohcs可以接受4個參數(shù):-q 加載配置文件后跳過開始菜單;-f configfile 識別指定的配制文件;-n 不加載配置文件;-h 打印幫助信息;-qf configfile 相當(dāng)于同時使用-q和-f兩個選項。使用Bochs,你必須有一個配置文件,或者你通 過-f參數(shù)指定,或者讓Bochs自己搜索。配置文件的作用是告訴Bochs到哪里尋找鏡像 文件,模擬層如何工作等。Bochs搜索配置文件的順序是:


  1. bochsrc 在當(dāng)前目錄中


  2. .bochsrc 在用戶的主目錄中

  3. bochsrc /etc 目錄中

以dlx-linux的配置文件為例,講一下如何定制你需要的配置文件。dlx-linux的 配置文件是/usr/share/doc/bochs目錄中的bochsrc-sample.txt。它的內(nèi)容 如下:
###############################################################
# bochsrc.txt file for DLX Linux disk image.
###############################################################

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

# filename of ROM images
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

# what disk images will be used
floppya: 1_44=floppya.img, status=inserted
floppyb: 1_44=floppyb.img, status=inserted

# hard disk
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17

# choose the boot disk.
boot: c

# default config interface is textconfig.
#config_interface: textconfig
#config_interface: wx

#display_library: x
# other choices: win32 sdl wx carbon amigaos beos macintosh nogui rfb term svga

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

# disable the mouse, since DLX is text only
mouse: enabled=0

# enable key mapping, using US layout as default.
#
# NOTE: In Bochs 1.4, keyboard mapping is only 100% implemented on X windows.
# However, the key mapping tables are used in the paste function, so
# in the DLX Linux example I'm enabling keyboard_mapping so that paste
# will work. Cut&Paste is currently implemented on win32 and X windows only.

keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map
#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-fr.map
#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-de.map
#keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-es.map
以#開頭的每一行都是注釋。注釋寫得很明白。
megs: 32
指明想要模擬32M的內(nèi)存。注意:后面的數(shù)字最大為2048,但是因為主機系統(tǒng)的限制,在 大多數(shù)系統(tǒng)上,Bochs甚至不能支持1024M。
romimage: file=$BXSHARE/BIOS-bochs-latest, address=0xf0000
指明ROM的鏡像文件在哪,開機時ROM BIOS被加載到哪里。$BXSHARE是環(huán)境變量,指明 Bochs的share目錄,在Linux上為/usr/share/bochs。這一般不用改動。下面的vgaromimage 指明VGA ROM的鏡像文件位置。
floppya: 1_44=floppya.img, status=inserted
floppyb: 1_44=floppyb.img, status=inserted
floppya是第一軟驅(qū),floppyb是第二軟驅(qū)。后面標(biāo)明的是軟驅(qū)鏡像文件的位置,軟盤 是否插入。可以根據(jù)你的需要做適當(dāng)?shù)男薷摹?
ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
ata0-master: type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17
打開ata0通道,另外還有ata1,ata2,ata3。對于每一個通道,都必須指明兩個IO地址和IRQ。 ata0是默認(rèn)被打開的,它的ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14。ata0-master 是主ata0通道,后面指明它附帶的設(shè)備是硬盤,硬盤鏡像文件路徑,硬盤柱面數(shù),磁頭數(shù)等參數(shù)。
boot: c
指明啟動次序,可以是cdrom,floppy,disk。不過由于歷史的原因a和c也能被接受。 也可以這樣來寫:
boot: cdrom, floppy, disk
mouse: enabled=0
指明鼠標(biāo)是否可見。
keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map
打開對虛擬US鍵盤的重映射,keymap必須被指明。
     更多的配置文件選項說明見/usr/share/doc/bochs/user/bochsrc.html。 如何編寫鍵盤的keymap列表見/usr/share/doc/bochs/user/keymap.html。

制作磁盤鏡像

     bximage是Bochs自帶的制作磁盤鏡像的工具,具有 良好的交互性,使用很方便。運行bximage,你會看到:

========================================================================
                                 bximage
                   Disk Image Creation Tool for Bochs
       $Id: bximage.c,v 1.25.2.1 2005/07/06 20:40:00 vruppert Exp $
========================================================================

Do you want to create a floppy disk image or a hard disk image?
Please type hd or fd. [hd]
詢問我們是建立一個軟盤鏡像還是硬盤鏡像,默認(rèn)的是硬盤。我們直接按回車,選擇硬盤 鏡像。
What kind of image should I create?
Please type flat, sparse or growing. [flat]
我們想建立一個簡單的鏡像,選擇默認(rèn)的flat。回車。
Enter the hard disk size in megabytes, between 1 and 32255
[10]
想要多少Mbyte的大小?鍵入你想要的大小。
I will create a 'flat' hard disk image with
   cyl=2
   heads=16
   sectors per track=63
   total sectors=2016
   total size=0.98 megabytes

What should I name the image?
[c.img]
在上一步中輸入“1”后,顯示相關(guān)的硬盤信息。詢問想要什么鏡像文件名字?默認(rèn)的是 c.img。輸入hd.img回車。
Writing: [] Done.

I wrote 1032192 bytes to hd.img.

The following line should appear in your bochsrc:
   ata0-master: type=disk, path="hd.img", mode=flat, cylinders=2, heads=16, spt=63
建立完畢。然后你就可以使用這個鏡像,用Bochs做實驗了。

     另外Bochs還有強大的調(diào)試功能,詳細(xì)請參閱用戶 手冊第8章。Bochs主頁上還有一些做好的系統(tǒng)鏡像,比如:OpenBSD,F(xiàn)reeDOS等。 不妨下載一個來試試。 Bochs的確是一款優(yōu)秀的工具,我推薦給每一位做操作系統(tǒng)研究的朋友。


posted on 2010-10-16 18:12 張貴川 閱讀(726) 評論(0)  編輯 收藏 引用 所屬分類: 自己動手些操作系統(tǒng)
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲一级二级| 免费久久99精品国产| 亚洲国产婷婷综合在线精品| 久久精品国产视频| 国产日韩欧美不卡在线| 久久久国产视频91| 久久精品99国产精品| 精品999在线播放| 亚洲福利在线看| 欧美裸体一区二区三区| 午夜国产精品视频| 久久久国产精品亚洲一区| 亚洲高清毛片| 一本色道久久综合亚洲二区三区| 国产精品入口尤物| 久久综合亚洲社区| 亚洲在线播放| 亚洲一线二线三线久久久| 红桃视频欧美| 亚洲人成网站色ww在线| 欧美性jizz18性欧美| 麻豆久久精品| 欧美日韩一区二区三区在线看| 久久不射2019中文字幕| 另类图片综合电影| 亚洲欧美文学| 欧美黑人多人双交| 久久精彩免费视频| 欧美日韩国语| 老司机免费视频久久| 欧美吻胸吃奶大尺度电影| 久久综合伊人77777蜜臀| 欧美日韩成人在线视频| 久久尤物视频| 国产精品乱码人人做人人爱| 欧美成人精品不卡视频在线观看| 欧美日韩精品欧美日韩精品一| 久久久久久久综合日本| 欧美日韩第一页| 欧美**人妖| 国产亚洲第一区| 中文精品一区二区三区| 亚洲国产人成综合网站| 欧美亚洲免费在线| 香蕉久久国产| 国产精品a级| 亚洲激情影院| 亚洲一区激情| 国产精品一区二区久久| 免费在线国产精品| 欧美体内she精视频在线观看| 亚洲第一网站免费视频| 国产综合视频在线观看| 亚洲男女毛片无遮挡| 亚洲视频1区2区| 欧美成人免费视频| 欧美亚洲自偷自偷| 亚洲自拍三区| 国产精品啊v在线| 亚洲乱码国产乱码精品精天堂| 亚洲第一区在线观看| 久久视频国产精品免费视频在线| 欧美一区二区三区日韩视频| 国产精品嫩草影院一区二区| 一本色道久久综合一区| 亚洲视频日本| 国产精品久久久久天堂| 亚洲欧美国产精品桃花| 欧美一区二区三区视频免费播放| 国产伦精品一区二区| 午夜精品一区二区三区电影天堂| 亚洲综合欧美| 国产日韩综合一区二区性色av| 午夜精品久久久久久久蜜桃app | 欧美精品亚洲一区二区在线播放| 欧美国产一区视频在线观看| 亚洲精品在线观| 欧美日韩国产探花| 亚洲一区欧美一区| 久久久久久一区二区| 激情久久中文字幕| 欧美aⅴ99久久黑人专区| 亚洲精品国产精品国自产观看| 99re6热在线精品视频播放速度| 欧美日韩国产高清| 午夜欧美大尺度福利影院在线看| 久久久久久久久久久久久女国产乱| 激情久久中文字幕| 欧美激情在线观看| 亚洲综合日本| 你懂的一区二区| 午夜欧美电影在线观看| 久久天堂成人| 亚洲视频电影图片偷拍一区| 国产裸体写真av一区二区| 久久精品国语| 亚洲精品一区在线观看| 欧美尤物一区| 亚洲精品久久久久久久久久久久| 国产精品国产自产拍高清av王其| 欧美一区二区在线观看| 91久久久在线| 久久久久www| 99精品视频一区| 国产自产在线视频一区| 欧美日韩系列| 久久综合久久综合久久| 亚洲天堂成人在线观看| 欧美黄色一区| 久久精品国产在热久久| 亚洲一二三区精品| 亚洲激情成人在线| 国产三级精品三级| 欧美乱妇高清无乱码| 久久精品国产精品亚洲精品| 在线亚洲美日韩| 亚洲电影免费观看高清完整版在线观看| 亚洲伊人观看| 艳妇臀荡乳欲伦亚洲一区| 国产原创一区二区| 国产精品拍天天在线| 欧美精品一区三区| 免费视频一区二区三区在线观看| 亚洲欧美日韩天堂一区二区| 亚洲精品国产拍免费91在线| 蜜臀久久99精品久久久画质超高清 | 欧美激情第五页| 久久精品国产欧美亚洲人人爽| 这里是久久伊人| 亚洲国产女人aaa毛片在线| 欧美片在线观看| 欧美成人一区二区三区片免费| 欧美一级视频免费在线观看| 亚洲小说欧美另类社区| 亚洲毛片在线观看.| 亚洲经典三级| 亚洲激情另类| 亚洲日本中文字幕| 亚洲黄网站在线观看| 欧美成人高清| 欧美国产另类| 亚洲成人资源网| 亚洲第一页在线| 亚洲福利视频一区二区| 欧美激情影院| 亚洲国产精品国自产拍av秋霞| 欧美福利视频网站| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美福利电影网| 欧美精品导航| 欧美日韩激情网| 国产精品国产精品国产专区不蜜| 国产精品成人播放| 国产麻豆精品久久一二三| 国产伦精品一区二区三区高清版| 国产精品欧美风情| 国产一区二区三区久久 | 亚洲日本va在线观看| 日韩视频中文| 亚洲欧美一级二级三级| 久久精品国产清高在天天线| 鲁大师成人一区二区三区| 欧美激情视频在线播放| 国产精品二区二区三区| 国产亚洲精品久久久| 亚洲国产女人aaa毛片在线| 一本色道久久88精品综合| 亚洲男人av电影| 久久先锋资源| 亚洲精品在线看| 性久久久久久久| 欧美国产综合一区二区| 欧美日韩伊人| 激情丁香综合| 国产精品99久久不卡二区| 久久精品欧洲| 亚洲第一页中文字幕| 亚洲在线视频| 欧美黄色精品| 国产一级揄自揄精品视频| 亚洲一区二区精品在线观看| 欧美一区二区免费| 欧美黄色一区| 国产一区导航| 国产精品99久久久久久人| 久久精品视频免费播放| 亚洲欧洲日本一区二区三区| 小黄鸭精品密入口导航| 欧美激情综合网| 国语自产精品视频在线看8查询8| 一本大道久久a久久综合婷婷| 欧美在线首页| 亚洲精品孕妇| 久久亚洲国产精品日日av夜夜| 欧美午夜激情在线| 亚洲激情在线视频| 久久免费国产精品1| 亚洲一区二区视频| 欧美日韩和欧美的一区二区| 亚洲福利视频在线|