
Я пытаюсь сделать автоматическую установку и мне нужно запустить некоторые команды как можно раньше. Поэтому я модифицировал свой установочный USB-носитель (Ubuntu 16.04) и добавил:
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
}
это объясняется здесь: https://wiki.ubuntu.com/UbiquityAutomation и здесьhttps://wiki.ubuntu.com/DesktopCDOptions
Файл early.sh находится на моем USB-накопителе как файл auto.seed (который загружается просто отлично). Но, похоже, мой скрипт early.sh никогда не запускается.
Я просто хочу скопировать файл в работающую систему:
#!/bin/bash
cp /cdrom/wlan /root/etc/NetworkManager/system-connections/wlan;
chmod 0600 /root/etc/NetworkManager/system-connections/wlan;
Я добавил префикс /root, как описано в ссылках выше. Я даже пробовал:
#!/bin/bash
touch /root/test
Когда я останавливаю установку до запуска partman, я получаю обычный Live Desktop и ожидаю открыть консоль и увидеть /root/test
. Но этого не происходит.
Я просмотрел /var/log/syslog и увидел параметры загрузки, но больше никаких строк журнала о early_command нет.
Мой preseed-файл содержит такие строки:
d-i preseed/early_command string in-target touch /root/test
Как мне исправить эту ситуацию? Надоедает начинать снова и снова.
решение1
Я думаю, что с ubiquity early_command и late_command просто не работают. Так что теперь я использую что-то вроде
ubiquity ubiquity/success_command string \
cp /cdrom/script /target/root/; \
chmod 0700 /target/root/script; \
in-target /root/script; \
Эти команды работают нормально, и я настраиваю свой Wi-Fi и вношу другие исправления в установку перед перезагрузкой.