光盘版linux,制作Linux发行版光盘的方法 - 【LT-Craft】 - LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区! - Powered by ...

在很多场合,现有的linux发行版并不能满足您的要求,比如:

* 您需要根据自己的要求取舍安装包

* 您需要定制自动安装脚本(kickstart)

* 您需要加入自己的软件包

这时您需要建立自己的linux发行版光盘,当然完整地从零开始定制一个linux发行版是十分耗时耗力的,我们一般只需要在现有的发行版光盘上进行修改即可满足我们的要求。下面讲述如何来做一个利用kickstart进行自动安装的光盘映象:(所有的操作都是基于centos-4.3发行版来进行)

1. 复制母盘文件

mkdir disk

mkdir tmp

mount -o loop centos-4.3.iso tmp

cp -rf tmp/* disk/

注意光盘根目录下有个隐藏文件.diskinfo,没有拷贝此文件在安装时刻将会告之,找不到cdrom

2. 生成kickstart文件

利用 system-config-kickstart工具生成kickstart文件, 不过该工具是基于x界面的,centeros-4.3 server版不带X界面。可用其他版本的linux生成。如果没有该工具也没关系,可以找现成的修改一番,具体的语法参考相关文件

3. 让系统从kickstart配置启动

修改disk/isolinux/isolinux.cfg文件,如下是我的一个配置文件

default ks

prompt 1

timeout 60

display boot.msg

F1 boot.msg

F2 options.msg

F3 general.msg

F4 param.msg

F5 rescue.msg

F7 snake.msg

label linux

kernel vmlinuz

append initrd=initrd.img ramdisk_size=8192

label text

kernel vmlinuz

append initrd=initrd.img text ramdisk_size=8192

label expert

kernel vmlinuz

append expert initrd=initrd.img ramdisk_size=8192

label ks

kernel vmlinuz

append ks=cdrom:/ks.cfg initrd=initrd.img ramdisk_size=8192

label lowres

kernel vmlinuz

append initrd=initrd.img lowres ramdisk_size=8192

label local

localboot 1

label memtest86

kernel memtest

append -

注意:如果不想把kickstart文件放在光盘的根目录下,可以将其放在isolinux的initrd.img文件系统中,然后用 ks=file:/ks.cfg代替上面的 ks=cdrom:/ks.cfg. 具体参考 https://listman.redhat.com/archi ... ugust/msg00029.html

大致方法如下

mount  -o loop initrd.img  tmp

cp ks.cfg tmp

umount tmp

4. 建立启动画面

启动画面用的是一种比较奇怪的格式lss16,它限制图片使用16种颜色,除去前景和背景色只能有14种颜色。我们需要ppmtolss16 giftopnm等程序,系统一般默认都安装了。

一般用gimp生成一个index模式的gif图形,颜色限制为14, 然后通过如下的办法进行转:

giftopnm < splash.gif | ppmtolss16 > splash.lss

如果要编辑一个lss文件先用lsstoppm转成ppm格式,然后用gimp进行编辑.

另外你还需要修改isolinux/boot.msg文件如下

^L

^Xsplash.lss

-  Babel Com Australia Fedora Core Linux installer.

-  Use the function keys listed below for more information.

^O02[F1-Main] [F2-Options] [F3-General] [F4-Kernel] [F5-Rescue]^O07

Note that in the above screen fragment "^L" means insert a control-L sequence. In vi you can do that by typing control-V control-L.

注意:上述显示的"^L"是一个控制序列,在vi中,你可以通过输入Ctrl-V 然后Ctrl-L来得到此字符。

5. 生成ISO映象

我们需要将改光盘制作成 ISO-9660 格式的光盘映象,通过如下命令来实现

cd disk \

mkisofs -o ../cdrom.iso -A 'ISOLINUX' -V 'ISOLINUX' \

-b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot \

-boot-load-size 4 -boot-info-table .

这样我们就能得到一个自己定制好的linux 发行版安装光盘。

至于从头制作一个完整的centos发行版,可以参考另一篇转载的文章《基于centos4.3的linux发行版制作过程》。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值