Um disco de instalação autônomo do Ubuntu não fará perguntas ao inicializar. Ele obtém suas entradas de um arquivo seed e limpará sua máquina com uma nova configuração. Eu construo um arquivo iso com o qual inicializo os convidados do VirtualBox para instalar o sistema operacional básico.
Obtenha uma iso do Ubuntu e monte-a em algum lugar. Então rsync o conteúdo para um diretório porque ele foi modificado; Usarei mnt / como exemplo.
As permissões no Ubuntu copiado não permitem modificações, então corrija-as:
mkdir -p mnt/{preseed,isolinux}
chmod u+w mnt/{preseed,isolinux}
chmod u+w mnt/isolinux/isolinux.bin
Copie um isolinux.cfg personalizado porque não descobri como desabilitar todos os prompts no instalador da GUI, então executo o instalador de texto mais simples.
rsync -ia isolinux.cfg mnt/isolinux/
O isolinux.cfg se parece com isto, com uma última linha muito longa:
prompt 0
timeout 1
default install
label install
menu label ^Install Ubuntu
kernel /install/vmlinuz
append file=/cdrom/preseed/preseed.cfg debian-installer=en_US locale=en_US fb=false debconf/frontend=noninteractive console-setup/ask_detect=false console-setup/layoutcode=us kbd-chooser/method=us console-keymaps-at/keymap=us netcfg/get_hostname=vagrant netcfg/get_domain=dev priority=critical initrd=/install/initrd.gz quiet --
Em seguida, copie seu preseed.cfg (não incluído aqui, que é outro protocolo bastante amplo) para a automação da instalação:
rsync -ia preseed.cfg mnt/preseed/
Em seguida, converta o Ubuntu copiado em uma imagem iso inicializável:
cd mnt/
mkisofs
-r -V "Ubuntu"
-cache-inodes -J -l -b isolinux/isolinux.bin -c isolinux/boot.cat
-no-emul-boot -boot-load-size 4 -boot-info-table -o ../unattended.iso .