Crie um diretório para montar sua fonte.
mkdir /tmp/bootiso
Montar em loop o ISO de origem que você está modificando. (Baixe do Red Hat / CentOS.)
mount -o loop /path/to/some.iso /tmp/bootiso
Crie um diretório de trabalho para sua mídia personalizada.
mkdir /tmp/bootisoks
Copie a mídia de origem para o diretório de trabalho.
cp -r /tmp/bootiso/* /tmp/bootisoks/
Desmonte o ISO de origem e remova o diretório.
umount /tmp/bootiso && rmdir /tmp/bootiso
Altere as permissões no diretório de trabalho.
chmod -R u+w /tmp/bootisoks
Copie o script Kickstart que foi modificado para os pacotes e %post
para o diretório de trabalho.
cp /path/to/someks.cfg /tmp/bootisoks/isolinux/ks.cfg
Copie quaisquer RPMs adicionais para a estrutura de diretórios e atualize os metadados.
cp /path/to/*.rpm /tmp/bootisoks/Packages/.
cd /tmp/bootisoks/Packages && createrepo -dpo .. .
Adicione o kickstart às opções de inicialização.
sed -i 's/append\ initrd\=initrd.img/append initrd=initrd.img\ ks\=cdrom:\/ks.cfg/' /tmp/bootisoks/isolinux/isolinux.cfg
Crie o novo arquivo 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/. .
(Opcional) Use isohybrid
se você quiser dd
o arquivo ISO em uma chave USB inicializável.
isohybrid /tmp/boot.iso
Adicione uma soma de verificação MD5 (para permitir o teste de mídia).
implantisomd5 /tmp/boot.iso