Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1049138
  • 博文数量: 326
  • 博客积分: 10135
  • 博客等级: 上将
  • 技术积分: 2490
  • 用 户 组: 普通用户
  • 注册时间: 2006-04-22 23:53
文章分类

全部博文(326)

文章存档

2014年(1)

2012年(4)

2011年(1)

2010年(4)

2009年(41)

2008年(44)

2007年(63)

2006年(168)

我的朋友

分类: LINUX

2006-08-26 10:18:25

以前我们很多启动盘采用的是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) |
给主人留下些什么吧!~~