制作centos 8 ISO镜像

1、安装制作工具

yum install createrepo mkisofs syslinux isomd5sum

yum install anaconda  rsync    // 这几个不需要

创建模块流索引的工具

yum install python3-createrepo_c python3-click python3-libmodulemd python3-pyyaml 

modulemd-tools包需要下载rpm包安装

2、挂载光盘,同步文件

mount -o loop /home/jiayangang/CentOS-7.5-x86_64-Minimal-1804.iso /mnt/cdrom/

mount -o loop /home/CentOS-8.3.2011-x86_64-minimal.iso /mnt/cdd/

# 同步/mnt/cdrom/下的文件到/ISO/路径下

mkdir /isoc8

/usr/bin/rsync -a /mnt/cdd/  /isoc8/

如果想排除某些文件

/usr/bin/rsync -a --exclude=Packages/ --exclude=repodata/ /mnt/cdrom/ /iso/

3、编辑、修改

替换或者增加 /iso/Packages/文件夹中的rpm文件

修改/iso/isolinux/isolinux.cfg

修改/iso/EFI/BOOT/grub.cfg

在/iso文件夹增加文件:

ks.cfg

c7-minimal-x86_64-comps.xml

4、更新索引

Packages中的rpm包变化后,需要更新索引。注意,如果需要启动程序,需要在ks.cfg脚本中配置

复制/isoc8/BaseOS/repodata目录下的0ecc0ca5e2097e89d9f66ab3393c8a6659b46243865a003eefdc7da34ed68946-c8-comps-BaseOS.x86_64.xml

为c8-comps-BaseOS.x86_64.xml

然后在c8-comps-BaseOS.x86_64.xml中增加自己要增加的rpm包

cd /isoc8/BaseOS

rm -rf ./repodata/*

createrepo -g c8-comps-BaseOS.x86_64.xml  .  (注意最后的点)

为模块流创建索引

repo2module  -s stable -d . modules.yaml

modifyrepo --mdtype=modules modules.yaml ./repodata/

命名

centos-83-tehike-2021-06-08.iso

5、生成iso

cd /isoc8

genisoimage -joliet-long -V "CentOS-8-3-2011-x86_64-dvd" -o centos-83-tehike-2021-06-08.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /isoc8

isohybrid -v /isoc8/centos-83-tehike-2021-06-08.iso

implantisomd5 /isoc8/centos-83-tehike-2021-06-08.iso

C_CREATEREPOLIB: Warning: Record with type "modules" already exists in repomd.xml

密码设置部分,复制于正常安装后的系统生成的anaconda-ks.cfg文件,自己生成的密码一直不行。

其它

/iso/Packages/中的以下rpm需要更新,所以需要删除旧的

freetype-2.4.11-15.el7.x86_64.rpm  glibc-common-2.17-222.el7.x86_64.rpm  libgcc-4.8.5-28.el7.x86_64.rpm

glib2-2.54.2-2.el7.x86_64.rpm      libdb-5.3.21-24.el7.x86_64.rpm        libgomp-4.8.5-28.el7.x86_64.rpm

glibc-2.17-222.el7.x86_64.rpm      libdb-utils-5.3.21-24.el7.x86_64.rpm  libxml2

增加rpm包

Packages文件夹

删除rpm  mariadb-libs postfix

添加rpm

    lrzsz upgraded

下载freeswitch依赖库 java dotnet rpm

label linux

  menu label ^Install CentOS 7

  kernel vmlinuz

  append initrd=initrd.img inst.stage2=hd:LABEL=CentOS\x207\x20x86_64 inst.ks=cdrom:/isolinux/th-ks.cfg quiet

你可能感兴趣的:(制作centos 8 ISO镜像)