Como usar di e preseed em 22.04

Como usar di e preseed em 22.04

Estou tentando configurar um ambiente de instalação automatizado para o Ubuntu 22.04. Já estamos trabalhando em produção para 20.04 e versões LTS anteriores há muitos anos. Usamos pxe/isolinux e um servidor tftp e dhcp para realizar a inicialização da rede e do CD. E alguns truques para fazer o uefi funcionar.

Não consigo encontrar imagens vmlinuz e initrd funcionais que me permitam iniciar uma instalação automatizada do Ubuntu 22.04 usando pré-configuração e o instalador debian (di).

Eu uso o seguinte para instalar o 20.04, isso não funciona no 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

Eu tentei extrair as imagens vmlinuz e initrd.gz das imagens iso do CD 22.04 do Ubuntu. No entanto, não importa o que eu tente, ele ainda não consegue encontrar um sistema de arquivos raiz. Suponho que as imagens não tenham mais a funcionalidade di e preseed integrada.

Se essas imagens não existissem, como eu criaria as minhas? Não me sinto muito feliz em migrar para qualquer método de instalação automatizado que a Canonical queira aplicar. Toda a nossa infraestrutura é baseada no método mencionado anteriormente e instalamos vários sistemas operacionais de forma semelhante.

Responder1

O Ubuntu já mudou para cloud-init em 20.04, eles apenas mantiveram o método preseed para compatibilidade. Agora acabou para sempre.

Você precisa criar um arquivo .yml com o nome do arquivo user-data, comoespecificado aqui.

Então você pode fornecer o caminho para o diretório que contém o arquivo em grub.cfg.

Eu forneço o arquivo diretamente no .iso (no diretório /nocloud/), mas você pode facilmente fornecer um local http.

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

Responder2

O anterior está obsoleto desde 20.04 e foi removido em 22.04. O Ubuntu agora está usando o autoinstall (também chamado de cloud-init):https://ubuntu.com/server/docs/install/autoinstall

Se você precisar de um exemplo prático elaborado, dê uma olhada neste repositório GitHub:https://github.com/lavabit/robox

Ele usa o Packer para gerar caixas Vagrant para vários provedores. Ele usa a instalação automática desde o Ubuntu 20.10.

informação relacionada