如何在CentOS中创build一个自定义的ISO映像

我想创build一个自定义的ISO映像,将安装最小的必需的RPMS以及我的应用程序的一些自定义书面RPM。 还想执行一些后安装步骤,如configuration我的应用程序和VPNconfiguration等

我看到了谷歌上的一些链接,但他们指出从挂载的磁盘或ISO映像创build回购和ISO。

谢谢Ramesh

  1. 创build一个目录来安装你的源代码。
    mkdir /tmp/bootiso
  2. 循环挂载您正在修改的源ISO。 (从Red Hat / CentOS下载)
    mount -o loop /path/to/some.iso /tmp/bootiso
  3. 为您的自定义媒体创build一个工作目录。
    mkdir /tmp/bootisoks
  4. 将源媒体复制到工作目录。
    cp -r /tmp/bootiso/* /tmp/bootisoks/
  5. 卸载源ISO并删除目录。
    umount /tmp/bootiso && rmdir /tmp/bootiso
  6. 更改工作目录的权限。
    chmod -R u+w /tmp/bootisoks
  7. 将已经修改了包和%post的Kickstart脚本复制到工作目录。
    cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg
  8. 将任何其他RPM复制到目录结构并更新元数据。
    cp /path/to/*.rpm /tmp/bootisoks/Packages/.
    cd /tmp/bootisoks/Packages && createrepo -dpo .. .
  9. 添加kickstart启动选项。
    sed -i 's/append\ initrd\=initrd.img$/append initrd=initrd.img\ ks\=cdrom:\/ks.cfg/' /tmp/bootisoks/isolinux/isolinux.cfg
  10. 创build新的ISO文件。
    cd /tmp/bootisoks && mkisofs -o /tmp/boot.iso -b isolinux.bin -c boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -V "CentOS 7 x86_64" -R -J -v -T isolinux/. .
  11. 添加一个MD5校验和(以允许testing媒体)。
    implantisomd5 /tmp/boot.iso

如果你需要更多的帮助来创buildKickstart脚本,我build议从官方的红帽文档开始。