Kickstart

如何在 CentOS 中創建自定義 ISO 映像

  • June 7, 2018

我正在嘗試創建一個自定義 ISO 映像,它將安裝所需的最低 RPMS 以及我的應用程序的一些自定義編寫的 RPM。並且還想執行一些安裝後步驟,例如配置我的應用程序和 VPN 配置等。

我在 google 上看到了一些連結,但它們指向的是從已安裝的磁碟或 ISO 映像創建 repo 和 ISO。

謝謝拉梅什

  1. 創建一個目錄來掛載您的源。
mkdir /tmp/bootiso
  1. 循環掛載您正在修改的源 ISO。(從 Red Hat / CentOS 下載。)
mount -o loop /path/to/some.iso /tmp/bootiso
  1. 為您的自定義媒體創建一個工作目錄。
mkdir /tmp/bootisoks
  1. 將源媒體複製到工作目錄。
cp -r /tmp/bootiso/* /tmp/bootisoks/
  1. 解除安裝源 ISO 並刪除目錄。
umount /tmp/bootiso && rmdir /tmp/bootiso
  1. 更改工作目錄的權限。
chmod -R u+w /tmp/bootisoks
  1. 將已針對包修改的 Kickstart 腳本複製%post到工作目錄。
cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg
  1. 將任何其他 RPM 複製到目錄結構並更新元數據。
cp /path/to/*.rpm /tmp/bootisoks/Packages/.
cd /tmp/bootisoks/Packages && createrepo -dpo .. .
  1. 將 kickstart 添加到引導選項。
sed -i 's/append\ initrd\=initrd.img/append initrd=initrd.img\ ks\=cdrom:\/ks.cfg/' /tmp/bootisoks/isolinux/isolinux.cfg
  1. 創建新的 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/. .
  1. (可選)isohybrid如果要將ddISO 文件轉換為可引導的 USB 密鑰,請使用。
isohybrid /tmp/boot.iso
  1. 添加 MD5 校驗和(以允許測試媒體)。
implantisomd5 /tmp/boot.iso

如果您在創建 Kickstart腳本時需要更多幫助,我建議您從 Red Hat 官方文件開始。

引用自:https://serverfault.com/questions/517908