veket官方网站论坛

veket

 找回密码
 要注册
搜索
查看: 3013|回复: 2

veket原理分析贴:使用isolinux制作Linux启动光盘

[复制链接]
发表于 2010-7-26 08:14 | 显示全部楼层 |阅读模式
以前我们很多启动盘采用的是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了。 剩下的就是你想要放什么都可以了,呵呵这时候我们的目录结构就建立完成了。如下:
        
               
               
                        
                                
CODE:
                                
myiso
|---isolinux | |
|
                                |---isolinux.bin
| |__isolinux.cfg
|---bzImage
|---COLOR.gz
|---readme 。
                        
               
        
步骤三: 配置isolinux.cfg
 isolinux.cfg的格式和lilo.conf
grub.conf相似:
        
               
               
                        
                                
CODE:
                                
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命令:
        
               
               
                        
                                
CODE:
                                
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
 楼主| 发表于 2010-7-26 08:16 | 显示全部楼层
veket就是用syslinux和isolinux来引导和装载镜像系统的。。。。
 楼主| 发表于 2010-7-26 08:23 | 显示全部楼层
其实veket在我的理解中也可以直接用ISOlinux来引导,但是写入引导区的是syslinux引导的,俺也是菜鸟一个,俺今天最大的愿望就是今天日落之前能变成会员!!!!

那位老大路过直接给个精吧,俺的愿望就达成啦。( ⊙ o ⊙ )。。。
您需要登录后才可以回帖 登录 | 要注册

本版积分规则

QQ|手机版|Archiver|veket官方网站论坛,veketx官方网站论坛,微器人 ( 粤ICP备 11052856 )

GMT+8, 2025-5-9 02:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表