免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1562 | 回复: 1
打印 上一主题 下一主题

制作Linux发行版光盘的方法 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-10 16:26 |只看该作者 |倒序浏览



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

  • 您需要根据自己的要求取舍安装包  
  • 您需要定制自动安装脚本(kickstart)  
  • 您需要加入自己的软件包
这时您需要建立自己的linux发行版光盘,当然完整地从零开始定制一个linux发行版是十分耗时耗力的,我们一般只需要在现有的发行版光盘上进行修改即可满足我们的要求。下面讲述如何来做一个利用kickstart进行自动安装的光盘映象:(所有的操作都是基于centos-4.3发行版来进行)
  • 复制母盘文件
    mkdir disk
    mkdir tmp
    mount -o loop centos-4.3.iso tmp
    cp -rf tmp/* disk/
    注意光盘根目录下有个隐藏文件.diskinfo,没有拷贝此文件在安装时刻将会告之,找不到cdrom
  • 生成kickstart文件
    利用 system-config-kickstart工具生成kickstart文件, 不过该工具是基于x界面的,centeros-4.3 server版不带X界面。可用其他版本的linux生成。如果没有该工具也没关系,可以找现成的修改一番,具体的语法参考相关文件
  • 让系统从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/archives/kickstart-list/2001-August/msg00029.html
    大致方法如下
    mount  -o loop initrd.img  tmp
    cp ks.cfg tmp
    umount tmp
  • 建立启动画面
    启动画面用的是一种比较奇怪的格式lss16,它限制图片使用16种颜色,除去前景和背景色只能有14种颜色。我们需要ppmtolss16 giftopnm等程序,系统一般默认都安装了。
    一般用gimp生成一个index模式的gif图形,颜色限制为14, 然后通过如下的办法进行转:
    giftopnm  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来得到此字符。
  • 生成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发行版制作过程》。


    本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31753/showart_275008.html
  • 论坛徽章:
    0
    2 [报告]
    发表于 2012-12-16 18:03 |只看该作者
    回复 1# zzmgx


       
        如何让自己搭建的linux系统,在安装时配置网络,指定root,以及分区。跪求。。。
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则 发表回复

      

    北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
    未成年举报专区
    中国互联网协会会员  联系我们:huangweiwei@itpub.net
    感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

    清除 Cookies - ChinaUnix - Archiver - WAP - TOP