Como usar early_command com onipresença

Como usar early_command com onipresença

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.

informação relacionada