用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