由 脫線 » 週二 5月 25, 2004 11:12 pm
我是脫線,最近自己在編新的核心,學到了不少東西:
1.boot-tw.img的容量是一片磁碟片大小(有別的程式能做到1.7M左右,但是有點麻煩。另一種是直接在光碟模擬區做2.8M容量,但是無法製作軟碟開機片)
2.如何在linux系統下面做一個img檔呢?
建立一個映像檔
dd if=/dev/zero of=boot-tw.img bs=1k count=1440
格式化
mkdosfs boot-tw.img(格式化成dos格式,通常用這個)
mke2fs -L "名稱" -b 1024 -N 8192 -O none -F -m 0 img檔名(格式化成ext2,做minisys.gz用的)
使能開機,如DOS的sys
syslinux img檔名
建立一個目錄
mkdir tmp
掛載
mount -o loop img檔名 ./tmp
在tmp目錄就等於是一片磁片了,可以下df -h來看容量喔!
卸載
umount ./tmp
=======================
可以先參考別人的boot-tw.img,
mount -o loop boot-tw.img ./tmp
ls ./tmp
大概有一些東西在
vmlinuz(核心)<==所謂核心太大,就是這個檔大加進去大於磁片容量
syslinux.cfg(參數預設值)
f2(按下f2的指令表)
logo-tw.16(開機的圖)
boot.msg(提示文字,如版本,日期)
minisys.gz(系統架構和開機必須的模組)
lost+found(可以刪除他)
還有一個由syslinux製造出來的檔案,我忘了名稱。
minisys.gz可以解開來看:
1.先複製出來cp ./tmp/minisys.gz ./
2.解壓縮gunzip minisys.gz(會變成沒有.gz的檔案)
3.建一個目錄mkdir ./temp
4.掛載他mount -o loop minisys temp
然後到./temp裡面看一下,就是我們使用KNOPPIX的架構,
有一個目錄modules,裡面有cloop.o(cloop模組)和scsi的模組,如果想用usb光碟或usb隨身硬碟開機,請將所需模組放進來,不過容量問題必須考慮,可能要刪除別的模組(cloop模組千萬不能刪)。
而新版製作磁片的方式,就是把scsi模組刪光,騰出空間給核心vmlinuz用。
5.卸載umount ./temp
6.壓縮回.gz檔。
gzip -9 minisys
minisys.gz就做好了。