Depois de brincar com ele por semanas, finalmente consegui trabalhar. Desde que encontrei muitas perguntas abertas, responderei as minhas para ajudar os outros.
Quando funciona?
No começo, eu não tinha certeza de como seria o processo de pré-processamento. Quando o arquivo foi coletado e o que esperar se o arquivo de pré-configuração não estava completo ou incorreto. Então, primeiro fiz uma instalação manual e anotei todas as perguntas que foram feitas. Após a pré-configuração, descobri que algumas perguntas não são mais feitas, mas as perguntas que falharam ainda foram feitas. Então, depois disso eu fiz tentativa e erro para presei-los todos
Edição do servidor
Eu li na web que você precisa da edição do servidor do Ubuntu, porque não funciona com a edição desktop. Não tenho certeza se isso é verdade, mas acabei de instalar a versão do servidor e instalei os pacotes da área de trabalho (o gnome no meu caso) nos arquivos de preseed.
Opções de inicialização
Às vezes, eles falam sobre a passagem de parâmetros pelas opções de inicialização. Eu não tinha ideia de como fazer isso, mas no final é bem simples. Basta inicializar a partir do meio de instalação e escolher o seu idioma de instalação. Do que apertar f6 para abrir outras opções e os parâmetros de inicialização aparecerão. Apenas aperte esc para fechar a caixa de diálogo das outras opções.
Eu não gostava de digitar todas essas opções nas opções de inicialização todas as vezes, então modifiquei o arquivo \ isolinux \ isolinux.cfg (do meu usb stick) e o alterei para isso:
# D-I config version 2.0
# search path for the c32 support libraries (libcom32, libutil etc.)
path
include menu.cfg
default vesamenu.c32
prompt 0
timeout 0
ui gfxboot bootlogo
LABEL custom
menu label ^Belle Custom Installation
kernel /install/vmlinuz
append file=/cdrom/preseed/my.seed debian-installer/language=en debian-installer/country=NL console-setup/ask_detect=false keyboard-configuration/layoutcode=us debian-installer/locale=en_US.UTF-8 localechooser/preferred-locale=en_US.UTF8 initrd=/install/initrd.gz quiet --
Quando o arquivo de pré-carregamento é carregado
Acabei de colocar meu arquivo preseed no pendrive. A documentação oficial do Ubuntu descreve que os diferentes métodos preseed (arquivo, rede, etc.) são carregados durante diferentes fases da instalação, mas eles não descrevem quando o arquivo é carregado a partir do pendrive. Isso é feito logo depois de todas as perguntas sobre teclado, idioma, etc. Então você precisa fazer o preseed através das opções de inicialização.
Comando atrasado
Uma das perguntas do preseed (comando tardio) permite que você execute comandos personalizados antes da conclusão da instalação. Como muitos outros, tive dificuldade em conseguir isso. No final, acabei copiando um script para o disco e modificando /etc/rc.local para permitir que esse script fosse executado durante a primeira inicialização. Eu fiz isso desde que eu tinha todos os comandos disponíveis que eu precisava. Alguns comandos estão infelizmente disponíveis durante essa fase da instalação.
Referências
Eu peguei essa informação de vários outros fóruns e guias. Não me lembro de todos eles, mas para te levar a caminho: