1. 程式人生 > >用bochs安裝linux0.11核心

用bochs安裝linux0.11核心

參考:http://www.oldlinux.org/oldlinux/forumdisplay.php?fid=4

1.先用gcc編譯linux0.11核心(不含檔案系統)

這是別人修改後可以gcc編譯的,原始碼已經放到:

\\Cnpc0165-cd\Books\Computer\kernel\linix-0.11\linux-0.11-060618-gcc4

步驟:

make clean

make

之後生成Image這就是核心(含bootsect即MBR)

2.安裝bochs2.2.1

\\Cnpc0165-cd\Books\Computer\kernel\linix-0.11\Bochs-2.1.1.exe

修改配置

###############################################################
# bochsrc.bxrc file for Tinix.
###############################################################

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

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

# what disk images will be used

#虛擬軟盤A作為啟動盤,就是核心Image
floppya: 1_44=Image, status=inserted
floppyb: 1_44=rootimage-0.11, status=inserted

#虛擬硬碟作為檔案系統
ata0-master: type=disk, path="hdc-0.11.img", mode=flat, cylinders=121, heads=16, spt=63

# choose the boot disk.
boot: a

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

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

# enable key mapping, using US layout as default.
keyboard_mapping: enabled=1, map=$BXSHARE/keymaps/x11-pc-us.map


3.檔案系統製作必須是minix的(0.11核心只認minix)

先用bxIamge建立一個256M的虛擬硬碟hdc.img

將建立的256MB硬碟Image檔案hdc.img進行分割槽並建立MINIX檔案系統,將在這個Image檔案中建立1個分割槽,並且建立成MINIX檔案系統。


(1)將hdc.img做為從盤掛到Bochs下已有的模擬系統中(例如SLS Linux):
編輯SLS Linux系統的Bochs配置檔案bochsrc.bxrc。在ata0-master一行下加入我們的硬碟Image檔案的配置引數行:
ata0-slave:type=disk, path=..\Linux-0.11\hdc.img,cylinders=520, heads=16, spt=63


(2)在Bochs下執行SLS Linux


(3)利用fdisk命令在hdc.img檔案中建立1個分割槽。
由於SLS Linux預設建立的分割槽型別是支援MINIX2.0檔案系統的81型別(Linux/MINIX),因此需要使用fdisk的t命令把型別修改成80(Old MINIX)型別。 這裡請注意,我們已經把hdc.img掛接成SLS Linux系統下的第2個硬碟。在SLS Linux下第2個硬碟整體的裝置名稱是/dev/hdb
 >fdisk /dev/hdb

>(m for help):

>n           //新建分割槽

>1           //起始柱面

>+63M    //結束柱面

>t          //改變檔案型別

>L

>80         //80 為minix格
 
(4) 再次進入SLS Linux模擬系統後,我們使用mkfs命令在剛建立的第1個分割槽上建立MINIX檔案系統。命令與資訊如下所示。這裡建立了具有64000個數據塊的分割槽(一個數據塊為1KB位元組)。
mkfs /dev/hdb1 64000

(5)將軟盤內容複製到硬碟
        (a)用軟盤啟動:
           先放入boot盤,再放入root盤
        (b)若還想格式化hdc.img:
         mkfs /dev/hdb1 64000
        (c)把軟盤上的根檔案系統複製到硬碟上
        [/mnt]#for i in bin dev etc usr tmp
         > do
          > cp +recursive +verbose /$i $i
          >done

註解: 這個時候我們就可以mount我們的hdc.img了,然後把上面的檔案拷貝到我們的硬碟上,在拷貝的時候同時建立了硬碟上的檔案和i節點的對應關係,一個i節點是否可用又是由i節點點陣圖對應的位來確定的,此處我們需要知道的就是在我們的硬碟上檔案和i節點的已經建立對應關係。

具體制作檔案系統參考:http://www.cnblogs.com/hongzg1982/articles/2115286.html