以前我们很多启动盘采用的是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的使用可以看看:
阅读(1112) | 评论(0) | 转发(0) |