定制化iso

1、准备环境

1.1 安装需要的包

1yum install createrepo mkisofs isomd5sum squashfs-tools

1.2 创建需要的目录

1mkdir /opt/centos
2mkdir /opt/old

1.3 上传基础安装包

1网上下载:CentOS-7-x86_64-Minimal-1708.iso
2上传到 /opt/

1.4 挂载

1mount /opt/CentOS-7-x86_64-Minimal-1708.iso /opt/old/

1.5 复制相关文件

1cp -r /opt/old/* /opt/centos/
2cp  /opt/old/.discinfo /opt/centos/
3cp  /opt/old/.treeinfo  /opt/centos/
4cp /root/anaconda-ks.cfg /opt/centos/isolinux/base-ks.cfg
5chmod +w /opt/centos/isolinux/base-ks.cfg

1.6 修改isolinux文件夹下的isolinux.cfg配置(以下为修改的内容)

  • 原来的内容
 1label linux
 2  menu label ^Install CentOS 7
 3  kernel vmlinuz
 4  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
 5
 6label check
 7  menu label Test this ^media & install CentOS 7
 8  menu default
 9  kernel vmlinuz
10  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
  • 修改后的内容
 1label linux
 2  menu label ^Install CentOS 7
 3  kernel vmlinuz
 4  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
 5label linuxcustom
 6  menu label ^Install CentOS 7 For custom
 7  menu default
 8  kernel vmlinuz
 9  append initrd=initrd.img inst.ks=hd:LABEL=TopCentos:/isolinux/base-ks.cfg inst.stage2=hd:LABEL=TopCentos
10label check
11  menu label Test this ^media & install CentOS 7
12  kernel vmlinuz
13  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet

1.7 修改EFI/BOOT下grub.cfg配置(以下为修改的内容)

  • 原内容
1menuentry 'Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
2	linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
3	initrdefi /images/pxeboot/initrd.img
4}
5menuentry 'Test this media & install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
6	linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
7	initrdefi /images/pxeboot/initrd.img
8}
  • 现内容
 1menuentry 'Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
 2	linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 quiet
 3	initrdefi /images/pxeboot/initrd.img
 4}
 5menuentry 'consumer Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
 6	linuxefi /images/pxeboot/vmlinuz inst.ks=hd:LABEL=TopCentos:/isolinux/base-ks.cfg inst.stage2=hd:LABEL=TopCentos quiet
 7	initrdefi /images/pxeboot/initrd.img
 8}
 9menuentry 'Test this media & install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
10	linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 rd.live.check quiet
11	initrdefi /images/pxeboot/initrd.img
12}