Я пытаюсь создать собственный ISO-образ, который установил бы минимально необходимый RPMS вместе с некоторыми пользовательскими письменными RPM моего приложения. а также хочет выполнить некоторые шаги после установки, такие как настройка моего приложения и конфигурации VPN и т. д.
Я видел некоторые ссылки в Google, но они указывают на создание репо и ISO из смонтированного диска или образа ISO.
Спасибо Рамеш
Создайте каталог для монтирования вашего источника.
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
Скопируйте свой сценарий кикстарта, который был изменен для пакетов и %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
Если вам нужна дополнительная помощь создание кикстарта скрипт, я предлагаю начать с официальной документации Red Hat.