使用isolinux製作Linux啟動光碟片CBSi中國·PChome 責編: 江海明 2006-11-24
以前我們很多啟動盤採用的是loadlin引導linux核心的模式進行的(比如早期的slackware)。也就是採用win98的dos啟動,然後通過loadlin工具引導我們的自己的linux核心,解開我們的安裝檔案系統。
但是,隨著我們接觸的硬體機型多樣化,目前部分新裝置不能採用dos(或win98)引導。
這個時候很多人會採用syslinux來製作啟動盤,但是syslinux一般都需要能夠將核心和檔案系統放到一張磁碟片上的,如果我們的檔案系統很大,又不能裁減,那可就慘了。或者說想在光碟片啟動的時候選擇多個核心/檔案系統,syslinux就比較麻煩了。
俺最後發現isolinux這個東西還是不錯的,可以支援大檔案系統。
關於isolinux的東西網路上介紹的不是很多,下邊是俺做過的一些嘗試:
步驟一:
製作一個linux系統核心,這個不是我想討論的話題,製作linux核心的文章網路上隨處可以找到,比如我們準備好了一個bzImage
準備一個自己需要使用的檔案系統,製作檔案系統的過程也不是本文想要討論的,假設我們準備好了一個檔案系統COLOR.gz
找到我們需要做引導的工具isolinux,具體說就是isolinux.bin isolinux.cfg,俺是從RH10的iso映像中摳出來的。:)
準備工作結束。
步驟二:
為自己的iso映像建立一個目錄,作為iso的根目錄(也就是光碟片的根了),比如myiso/
在建立好的目錄下,建立一個isolinux目錄(這個名稱好像是固定的,而其必須有,俺有一次沒有建立這個目錄,結果引導的系統不能正常檢測中斷,不知道為什麼,鬱悶了一晚上)
隨後把isolinux.cfg和isolinux.bin放到isolinux目錄下。
在iso的根目錄下,放置光碟片所包含的內容,當然要包含bzImage和COLOR.gz了。
剩下的就是你想要放什麼都可以了,呵呵
這時候我們的目錄結構就建立完成了。如下:
myiso
|
|---isolinux
| |
| |---isolinux.bin
| |__isolinux.cfg
|---bzImage
|---COLOR.gz
|---readme
。
步驟三:
配置isolinux.cfg
isolinux.cfg的格式和lilo.conf grub.conf相似:
prompt 1
timeout 100
default myiso
label mysio
kernel /bzImage
append initrd=/COLOR.gz load_ramdisk=1 prompt_ramdisk=0 ramdisk_size=60000 rw root=/dev/ram
不想等待的話可以去掉prompt和timeout,要不然啟動的時候還要點一下,麻煩。
步驟四:
一切都做好了,下邊我們就可以產生自己的iso映像了。
在linux使用命令mkisofs命令:
mkisofs -o myiso.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table myiso
具體的參數使用大家可以man一下。
以上步驟在linux2.4下驗證成功。
建議:
如果我們的COLOR.gz能夠做得很小,和bzImage一起可以放到磁碟片上,我們就可以使用比較常見的syslinux來做引導光碟片了.syslinux的使用網上很多,大家有用的時候可以看看。
isolinux的使用可以看看:
http://syslinux.zytor.com/iso.php