Как использовать di и preseeding 22.04

Как использовать di и preseeding 22.04

Я пытаюсь настроить автоматизированную среду установки для Ubuntu 22.04. У нас это уже работает в production для 20.04 и предыдущих LTS-релизов в течение многих лет. Мы используем pxe/isolinux и сервер tftp и dhcp для выполнения сетевой загрузки и загрузки с CD. И некоторые трюки, чтобы заставить работать uefi.

Мне не удалось найти рабочие образы vmlinuz и initrd, которые позволили бы мне запустить автоматическую установку Ubuntu 22.04 с использованием preseeding и установщика Debian (di).

Я использую следующее для установки 20.04, это не работает на 22.04:

linuxefi /path/to/2004/amd64/linux auto=true priority=critical url=http://example.com/ubuntu/2004/amd64/seed_ub_uefi.cfg console-setup/layoutcode=us interface=auto
initrdefi /path/to/2004/amd64/initrd.gz

Я пытался извлечь образы vmlinuz и initrd.gz из образов iso компакт-дисков ubuntu 22.04. Однако, что бы я ни пытался, он даже не может найти корневую файловую систему. Я предполагаю, что образы больше не имеют встроенной функциональности di и preseed?

Если таких образов не существует, как мне создать свой собственный? Я не чувствую себя слишком счастливым, переходя на любой автоматизированный метод установки, который Canonical хочет навязать. Вся наша инфраструктура основана на ранее упомянутом методе, и мы устанавливаем несколько ОС похожим образом.

решение1

Ubuntu уже перешла на cloud-init в 20.04, они оставили preseed-метод только для совместимости. Теперь он исчез навсегда.

Вам необходимо создать файл .yml с таким именем user-data:указано здесь.

Затем вы можете указать путь к каталогу, содержащему файл в grub.cfg.

Я предоставляю файл непосредственно в .iso (в каталоге /nocloud/), но вы можете так же легко предоставить http-адрес.

menuentry "Install Ubuntu Server (autoinstall)" {
    set gfxpayload=keep
    linux   /casper/vmlinuz   quiet autoinstall ds=nocloud\;s=/cdrom/nocloud/ ---
    initrd  /casper/initrd
}

решение2

Предыдущее устарело с 20.04 и было удалено в 22.04. Ubuntu теперь использует autoinstall (также называется cloud-init):https://ubuntu.com/server/docs/install/autoinstall

Если вам нужен подробный рабочий пример, взгляните на этот репозиторий GitHub:https://github.com/lavabit/robox

Он использует Packer для генерации Vagrant-боксов для нескольких провайдеров. Он использует автоустановку с Ubuntu 20.10.

Связанный контент