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的软连接

聂扬帆博客
一个分享IT运维相关工作经验和实战技巧的个人博客
2016年4月14日 上午10:13 沙发
你好,我centos7在修改了Packages目录中的文件后,重新生成了comps.xml,自动化部署过程中会卡在了第4步正在安装filesystem。在不添加rpm包和不删除从iso中复制出来的repodata目录则可以正常安装。请问centos7和centos6都是用同一个方法来创建comps.xml文件的吗[img]http://ww1.sinaimg.cn/mw690/819ad67agw1f2w09j8cjtj20ma0gmwgp.jpg[/img]
2016年4月14日 上午11:22 1层
@kedz createrepo生成comps.xml文件命令是相同的,打包的命令会根据打包系统版本有不同
2016年8月30日 上午12:33 2层
@yangfannie 我用createrepo生成comps.xml,也遇到了同样的问题,卡在安装filesystem那。
2016年8月30日 上午9:29 3层
@gjccc 可以参考下我这边文章生成comps.xml https://yangfannie.com/771.html
2016年6月5日 下午3:22 板凳
有个疑问,如何解决跨平台?也就是这样的iso换到其他机器会不会出现驱动问题?
还有一个问题,如果想制作已经更新的系统,因该如果做?
2016年6月6日 下午2:38 1层
@feng 目前我测试的机器型号DELL,浪潮,HP,IBM,华为,联想,宝德均正常。你指的已经更新的系统是什么意思?
2016年8月29日 下午5:41 地板
问下, 我是个菜鸟,配置EFI 引导方式是必须的么?
2016年8月30日 上午9:20 1层
@sky 不是必须的,我现在就是用grub方式
2017年1月17日 下午7:52 2层
@yangfannie grub方式要怎么弄呢,想自己尝试自己定制个centos7,一直不成功,求大神指导啊
好像发表的评论我在页面都看不到啊
2017年1月18日 上午9:24 3层
@陈晓旋 评论是要批准才能显示出来的
2018年7月3日 上午11:06 4楼
着手定制过,尝试了几次才成功的