制作CentOS 7一键自安装ISO镜像光盘

Centos 7发布也有一段时间了,最近公司有需要在Centos7上测试的需求,于是就开始着手定制。大致和之前写的制作CentOS 6.5一键自安装ISO镜像光盘差不多。这边主要写下和6.5的差别

一、拷贝相关软件包

6.5版本用的是根据安装的install.log,用脚本去筛除不需要的包;但在Centos7的/root下面并没有install.log文件。于是我们可以通过下面脚本用rpm -qa的方式得到所需安装的软件包。

#!/bin/bash

rpm -qa  >package.txt

DVD='/mnt/cdrom/Packages'

NEW_DVD='/ISO/Packages'

while read LINE

do

cp ${DVD}/${LINE}*.rpm /${NEW_DVD} || echo "$LINE don't cp......."

done < package.txt

rm -f package.txt

二、配置 EFI 引导方式

1、EFI简介

参考百度百科EFI

2、分区

为了同时兼容mbr和efi方式,需同时创建 /boot 和 /boot/efi 分区

3、配置 EFI 引导

进入光盘目录EFI/BOOT/ ,编辑 grub.cfg 文件,和mbr方式类似,指明 ks.cfg 文件位置和安装源位置

三、生成ISO文件

这边和在CENTOS6.5以下版本的区别是,制作镜像需要使用CENTOS7系统,因为两者系统的genisoimage命令的版本不一样, 6的系统制作出来的 iso不能在 efi 环境启动。

如果要在 efi 启动,需要添加如下参数

-eltorito-alt-boot -bimages/efiboot.img -no-emul-boot

6版本以下生成ISO命令:

mkisofs -o CentOS-6.5_x86_64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /ISO/

7版本生成ISO命令:

genisoimage -o CentOS-7.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T /CentOS/7

两者的区别就是mkisofs和genisoimage,其实最早时候Linux 系统使用cdrtools工具来管理 iso 及光盘, mkisofs 是 cdrtools 里面的一个工具,后来 cdrtools 更好了了授权许可,从 GPL 修改为 CDDL 许可,开源社区又推出了一套基于 GPL 的工具,cdrkit,mkisofs 也被 genisoimage 去掉,现在系统中的 mkisofs 实际是 genisoimage的软连接

weinxin
聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:11   其中:访客  11   博主  0

  1. avatar kedz 1

    你好,我centos7在修改了Packages目录中的文件后,重新生成了comps.xml,自动化部署过程中会卡在了第4步正在安装filesystem。在不添加rpm包和不删除从iso中复制出来的repodata目录则可以正常安装。请问centos7和centos6都是用同一个方法来创建comps.xml文件的吗819ad67agw1f2w09j8cjtj20ma0gmwgp.jpg

    • avatar yangfannie 5

      @kedz createrepo生成comps.xml文件命令是相同的,打包的命令会根据打包系统版本有不同

      • avatar gjccc 0

        @yangfannie 我用createrepo生成comps.xml,也遇到了同样的问题,卡在安装filesystem那。

  2. avatar feng 0

    有个疑问,如何解决跨平台?也就是这样的iso换到其他机器会不会出现驱动问题?
    还有一个问题,如果想制作已经更新的系统,因该如果做?

    • avatar yangfannie 5

      @feng 目前我测试的机器型号DELL,浪潮,HP,IBM,华为,联想,宝德均正常。你指的已经更新的系统是什么意思?

  3. avatar sky 0

    问下, 我是个菜鸟,配置EFI 引导方式是必须的么?

    • avatar yangfannie 5

      @sky 不是必须的,我现在就是用grub方式

      • avatar 陈晓旋 1

        @yangfannie grub方式要怎么弄呢,想自己尝试自己定制个centos7,一直不成功,求大神指导啊

        好像发表的评论我在页面都看不到啊 :cry:

        • avatar yangfannie 5

          @陈晓旋 评论是要批准才能显示出来的

  4. avatar 广州网站建设 4

    着手定制过,尝试了几次才成功的