TL;DR:
Использовать xorriso -indev ubuntu.iso -report_el_torito as_mkisofs
чтобы узнать параметры, необходимые для восстановления ISO после его исправления.
Полные шаги:
Это предполагает, что у вас есть "Убунту.исо
" и создаст новый "ubuntu-autoinstall.iso
".
Распакуйте ISO с помощью:
mkdir новый && bsdtar -C новый -xf ubuntu.iso
(установить libarchive-инструменты
получить бдтар
)
Пластырь новый/загрузочный/жратва/жратва.cfg
следующее:
Изменить установить время ожидания = 30
к установить время ожидания = 1
Добавить новый вход в меню
поверх всех остальных следующим образом:
пункт меню "автоустановка" {
установить gfxpayload = сохранить
linux /casper/vmlinuz тихая автоустановка ds=nocloud\;s=/cdrom/server/ ---
initrd /каспер/initrd
}
Добавьте файлы cloud-init следующим образом (зашифрованный пароль «убунту
"):
mkdir новый/сервер
сенсорный новый/сервер/метаданные
cat << _EOF_ > новый/сервер/данные пользователя
#cloud-config
автоустановка:
версия: 1
личность:
имя хоста: ubuntu-сервер
пароль: "$6$exDY1mhS4KUYCE/2$zmn9ToZwTKLhCw.b4/b.ZRTIZM30JZ4QrOQ2aOXJ8yk96xpcCof0kxKwuX1kqLG/ygbJ1f8wxED22bTL4F46P0"
имя пользователя: убунту
Создайте новый ISO (вывод -report_el_torito
для вашего ISO может отличаться; отредактируйте соответственно)
xorriso -as mkisofs --modification-date='2021101314195100' --grub2-mbr --interval:local_fs:0s-15s:zero_mbrpt,zero_gpt:'ubuntu.iso' --protective-msdos-label -partition_cyl_align off -partition_offset 16 --mbr-force-bootable -append_partition 2 28732ac11ff8d211ba4b00a0c93ec93b --interval:local_fs:2470124d-2478587d::'ubuntu.iso' -part_like_isohybrid -iso_mbr_part_type a2a0d0ebe5b9334487c068b6b72699c7 -c '/boot.catalog' -b '/boot/grub/i386- pc/eltorito.img' -no-emul-boot -boot-load-size 4 -boot-info-table --grub2-boot-info -eltorito-alt-boot -e '--interval:appended_partition_2_start_617531s_size_8464d:all :: ' -no-emul-boot -boot-load-size 8464 -isohybrid-gpt-basdat -o ubuntu-autoinstall.iso -V 'Ubuntu autoinstall' new/
Длинная версия:
Я начал искать о подсобность, новый установщик Ubuntu. Мне было особенно интересно узнать, как они создали ISO, потому что у меня была точно такая же проблема, как и у вас! В его исходном коде я наткнулся make-edge-iso.sh который использовал что-то многообещающее под названием livefs-редактор. (Я не мог использовать это напрямую для того, что хотел, но вы увидите, что это предлагает --add-autoinstall-config опция, которая, вероятно, делает именно то, что нам нужно.) Копаясь в ее коде, я наткнулся на волшебную опцию xorriso "-report_el_torito as_mkisofs", которая ответила на наши вопросы! Он пытается рассказать вам, как именно был построен ISO.