理解iso光盤系統

http://blog.csdn.net/zhenwo123/article/details/7210211


使用目錄文件製作ISO文件
mkisofs -r -o 路徑/ISO 文件名 目錄文件路徑
例子:mkisofs -r -o /opt/mycd.iso /home

以前我們很多啓動盤採用的是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


這裏有一個關於mkisofs的詳細資料

http://blog.chinaunix.net/uid-505769-id-2110941.html


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章