Створіть каталог для монтажу вашого джерела.
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/. .
(Необов’язково) Використовуйте, isohybrid
якщо ви хочете, щоб dd
файл ISO був завантажувальним USB-ключем.
isohybrid /tmp/boot.iso
Додайте контрольну суму MD5 (щоб дозволити тестування носія).
implantisomd5 /tmp/boot.iso