
Estou tentando fazer uma instalação automática e preciso executar alguns comandos o mais cedo possível. Então modifiquei minha mídia de instalação USB (Ubuntu 16.04) e adicionei:
menuentry "Install automatically" {
set gfxpayload=keep
linux /casper/vmlinuz.efi file=/cdrom/auto.seed preseed/early_command=/cdrom/early.sh boot=casper auto=true automatic-ubiquity debug-ubiquity quiet splash ---
initrd /casper/initrd.lz
}
isso é explicado aqui: https://wiki.ubuntu.com/UbiquityAutomation e aquihttps://wiki.ubuntu.com/DesktopCDOptions
O arquivo early.sh está no meu pendrive como meu arquivo auto.seed (que é carregado perfeitamente). Mas parece que meu script early.sh nunca é executado.
Eu só quero copiar um arquivo para o sistema ativo:
#!/bin/bash
cp /cdrom/wlan /root/etc/NetworkManager/system-connections/wlan;
chmod 0600 /root/etc/NetworkManager/system-connections/wlan;
Eu prefixei com /root conforme explicado nos links acima. Eu até tentei:
#!/bin/bash
touch /root/test
Quando paro a instalação antes da execução do partman, recebo o Live Desktop normal e espero abrir um console e ver o arquivo /root/test
. Mas eu não.
Eu estava olhando /var/log/syslog e posso ver os parâmetros de inicialização, mas não há mais linhas de log sobre early_command
Meu arquivo preseed contém linhas como esta:
d-i preseed/early_command string in-target touch /root/test
Como posso depurar esta situação? É chato começar de novo e de novo.
Responder1
Acho que com a onipresença, early_command e late_command simplesmente não estão funcionando. Então agora estou usando algo como
ubiquity ubiquity/success_command string \
cp /cdrom/script /target/root/; \
chmod 0700 /target/root/script; \
in-target /root/script; \
Esses comandos funcionam bem e eu configuro meu wifi e faço outras correções em minha instalação antes de reiniciar.