中文字幕理论片,69视频免费在线观看,亚洲成人app,国产1级毛片,刘涛最大尺度戏视频,欧美亚洲美女视频,2021韩国美女仙女屋vip视频

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
實(shí)現(xiàn)操作系統(tǒng)之環(huán)境搭建 | Bochs 2.6.7

記得很久以前,就開始準(zhǔn)備實(shí)現(xiàn)一個(gè)自己操作系統(tǒng),找了一本《Orange’s 一個(gè)操作系統(tǒng)的實(shí)現(xiàn)》來看。滿懷期待的進(jìn)入最開始章節(jié),環(huán)境搭建篇,足足讓我整了一個(gè)通宵還沒整出Hello World,后來就忘記了要寫操作系統(tǒng)這件事了?,F(xiàn)在拿起這本書,希望堅(jiān)持做下去,并把我自己的編譯器放上去運(yùn)行。同時(shí)我也會(huì)在每個(gè)階段記錄在我的博客上。

環(huán)境搭建在書上有詳細(xì)的介紹,但是這本書已年代久遠(yuǎn),各種工具也更新?lián)Q代多次,使用方法略有區(qū)別,但大致相同。我把過程在此記錄,希望能幫助到有需要的人,以不至于被第一步就困難到。

我的運(yùn)行環(huán)境是Windows8,Linux下我也會(huì)簡略介紹。

準(zhǔn)備階段

安裝NASM

Nasm的官方網(wǎng)站:http://sourceforge.net/projects/nasm/。下載完成直接安裝,記住你的安裝文件夾。

dd命令工具

Windows下有dd for Windows的工具,下載地址http://www.chrysocome.net/download,找到dd-*(版本號).zip,下載解壓即可使用。

 Bochs安裝

Bochs主頁http://bochs.sourceforge.net/,可直接安裝。

配置環(huán)境變量

將三個(gè)軟件的安裝位置加入環(huán)境變量中,相信安裝過軟件的都知道如何設(shè)置,這里就不詳細(xì)說明了。

測試軟件

在cmd下輸入

1
2
3
nasm -version
dd
bochs

如果指令都正常,我們的準(zhǔn)備工作就完成了,若發(fā)生錯(cuò)誤,有可能是環(huán)境變量設(shè)置問題,可重新檢查一遍。

操作階段

匯編boot.asm

1
nasm boot.asm -oboot.bin

注意路徑不要搞錯(cuò)。

生成軟盤映像

這里使用bximage,和書中的操作略有不同,注意閱讀一下指令的輸出。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
d:\oranges\Bochs-2.6.7>bximage
========================================================================
                                bximage
  Disk Image Creation / Conversion / Resize and Commit Tool for Bochs
         $Id: bximage.cc 12364 2014-06-07 07:32:06Z vruppert $
========================================================================
1. Create new floppy or hard disk image
2. Convert hard disk image to other format (mode)
3. Resize hard disk image
4. Commit 'undoable' redolog to base image
5. Disk image info
0. Quit
Please choose one [0] 1   //這里需要選擇1,生成新的軟盤或硬盤
Create image
Do you want to create a floppy disk image or a hard disk image?
Please type hd or fd. [hd] fd     //選fd為軟盤
Choose the size of floppy disk image to create, in megabytes.
Please type 160k, 180k, 320k, 360k, 720k, 1.2M, 1.44M, 1.68M, 1.72M, or 2.88M.
<span style="text-decoration: underline;"> [1.44M]     //回車即默認(rèn)</span>
What should be the name of the image?
[a.img]     //回車即默認(rèn)
Creating floppy image 'a.img' with 2880 sectors
The following line should appear in your bochsrc:
  floppya: image="a.img", status=inserted
(The line is stored in your windows clipboard, use CTRL-V to paste)
Press any key to continue

最終a.img生成在cmd的當(dāng)前目錄下,請注意目錄。

寫入引導(dǎo)

我在這一步遇到了問題,試了兩次都沒寫入,后來分析了一下找出了問題所在。

書上的命令為

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

首先要注意這里的if是指輸入文件,即匯編后的生成文件。a.img是軟盤映像,這里一定要看看這兩個(gè)文件是否在同一路徑和在cmd當(dāng)前目錄中,否則就要加上完整的路徑。其次,當(dāng)輸入完指令后,輸出為

1
2
3
4
5
6
7
8
9
10
11
12
13
14
d:\oranges\code>dd if=boot.bin of=a.img bs=512 count=1 conv=notrunc
rawwrite dd for windows version 0.5.
Written by John Newbigin <jn@it.swin.edu.au>
This program is covered by the GPL.  See copying.txt for details
Unknown command conv=notrunc
dd [bs=SIZE] [count=BLOCKS] [if=FILE] [of=FILE] [seek=BLOCKS] [skip=BLOCKS] [--s
ize] [--list] [--progress]
SIZE and BLOCKS may have one of the following suffix:
k = 1024
M = 1048576
G = 1073741824
default block size (bs) is 512 bytes
skip specifies the starting offset of the input file (if)
seek specifies the starting offset of the output file (of)

下劃線表示沒有這個(gè)指令,我猜測dd工具已經(jīng)更新掉了這個(gè)命令,所以去掉即可。

配置bochsrc.bxrc文件

我的配置文件是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
##################################  
# configure filefor Bochs in win7  
##################################  
  
# how much memorythe emulated machine will have  
megs: 32  
  
# filename of ROMimages  
romimage:file=d:/oranges/Bochs-2.6.7/BIOS-bochs-latest  
vgaromimage:file=d:/oranges/Bochs-2.6.7/VGABIOS-lgpl-latest  
  
# what disk imagewill be used  
floppya:image="a.img", status=inserted  
# floppya:1_44=floppyb.img, status=inserted  
  
#hard disk  
# ata0: enabled=1,ioaddr1=0x1fo, ioaddr2=0x3f0, irq=14  
# ata0-master:type=disk, path="hd10meg.img", cylinders=306, heads=4, spt=17  
  
# choose the bootdisk.  
boot: a  
  
# default configinterface is textconfig.  
#config_interface:textconfig  
#config_interface:w  
  
#display_library:x  
# other choices:win32 sdl wx carbon amigaos beos macintosh nogui rfb term  
  
# where do we sendlog messages?  
log: bochsout.txt  
  
# disable themouse, since DLX is text only  
mouse: enabled=0  
  
# enable keymapping, using US layout as default.  
#  
# NOTE: In Bochs1.4, keyboard mapping is only 100% implemented on X windows.  
# However, the keymapping tables are used in the paste function, so  
# in the DLX Linuxexample I'm enabling keyboard_mapping so that paste  
# will work.  Cut&Paste is currently implemented onwin32 and X windows only.  
  
keyboard:keymap=d:/oranges/Bochs-2.6.7/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.ma

注意改成自己的路徑即可。

HELLO WORLD

雙擊bochsrc.boxrc。

搞定?。?!

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
【原創(chuàng)】bochs的一個(gè)使用技巧
在bochs虛擬機(jī)中安裝WindowsXP (學(xué)習(xí))
用NASM改寫的linux
操作系統(tǒng)篇 虛擬機(jī)安裝
[原創(chuàng)]Bochs使用指南
在windows上使用linux,freedos——bochs菜鳥攻略
更多類似文章 >>
生活服務(wù)
熱點(diǎn)新聞
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服