理解iso光盘系统

来源:互联网 发布:华视f6网络机顶盒刷机 编辑:程序博客网 时间:2024/04/25 17:13

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 -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


0 0