ソースをマウントするディレクトリを作成します。
mkdir /tmp/bootiso
変更するソースISOをループマウントします。(Red Hat / CentOSからダウンロードします。)
mount -o loop /path/to/some.iso /tmp/bootiso
カスタマイズしたメディアの作業ディレクトリを作成します。
mkdir /tmp/bootisoks
ソースメディアを作業ディレクトリにコピーします。
cp -r /tmp/bootiso/* /tmp/bootisoks/
ソースISOをアンマウントし、ディレクトリを削除します。
umount /tmp/bootiso && rmdir /tmp/bootiso
作業ディレクトリのアクセス許可を変更します。
chmod -R u+w /tmp/bootisoks
パッケージ用に変更されたKickstartスクリプトを%post
作業ディレクトリにコピーします。
cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg
追加のRPMをディレクトリ構造にコピーし、メタデータを更新します。
cp /path/to/*.rpm /tmp/bootisoks/Packages/.
cd /tmp/bootisoks/Packages && createrepo -dpo .. .
キックスタートをブートオプションに追加します。
sed -i 's/append\ initrd\=initrd.img/append initrd=initrd.img\ ks\=cdrom:\/ks.cfg/' /tmp/bootisoks/isolinux/isolinux.cfg
新しい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/. .
(オプション)ISOファイルを起動可能なUSBキーにしisohybrid
たい場合に使用しdd
ます。
isohybrid /tmp/boot.iso
MD5チェックサムを追加します(メディアのテストを許可するため)。
implantisomd5 /tmp/boot.iso