
estou faltando alguma coisa ou por que o grub nem sempre pode ser instalado onde é direcionado com particionamento manual + pré-configuração?
Eu uso um arquivo de pré-configuração para o desktop xubuntu 20.04.2 que é desprovido de diretivas de particionamento. quando a "ubiquidade automática" é inicializada, após o particionamento manual do sda, a seleção de /dev/sda1 é ignorada e o grub é instalado em /dev/sda.
adicionado d-i grub-installer/only_debian boolean false
e/ou d-i grub-installer/with_other_os boolean false
pré-configurado. após particionar manualmente o sda, a seleção de /dev/sda1 é ignorada e o grub é instalado em /dev/sda.
Eu hackeei uma maneira de configurar dinamicamente, d-i grub-installer/bootdev string default
mas isso requer inicializar no ambiente ativo, particionar o disco e configurar a partição ativa primeiro e, em seguida, iniciar "ubiquity --automatic" ou reinicializar com "automatic-ubiquity".
d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
d-i grub-installer/bootdev string default
d-i partman/early_command string \
BOOTFLAG=$(lsblk -rpo PARTFLAGS,PKNAME,PATH | grep "0x80" | cut -f 3 -d ' '); \
if [ $BOOTFLAG ]; then debconf-set grub-installer/bootdev $BOOTFLAG; fi;
testar isso funciona com uma VM com um único disco, mas pode não funcionar como desejado em hardware com vários discos ou instalação a partir de USB.
d-i grub-installer/skip boolean true
parece ignorado sempre. novamente eu criei uma maneira de fazer isso funcionar, deixei d-i grub-installer/bootdev string
-o vazio. instalar manualmente o grub em ubiquity/success_command não funciona. inspecionando os primeiros setores de /dev/sda1, todos são 00. o outro comando é concluído com sucesso.
d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
d-i grub-installer/bootdev string
ubiquity ubiquity/success_command string \
in-target grub-install -‑force /dev/sda1; \
echo "tmpfs /tmp tmpfs nosuid,nodev 0 0" >> /target/etc/fstab;
Responder1
eventualmente abandonei o partman/early_command
método. atualmente eu configurei grub-installer/bootdev
como vazio e uso ubiquity/success_command
para forçar a instalação do grub na /target
partição e marcá-la como ativa.
meio feio, mas funciona. testado apenas para tabela de partição sata/nvme/mbr e partições de inicialização/home/root separadas com ext2/3/4.
d-i grub-installer/only_debian boolean false
d-i grub-installer/with_other_os boolean false
d-i grub-installer/bootdev string
ubiquity ubiquity/success_command string \
echo 'tmpfs /tmp tmpfs nosuid,nodev 0 0' >> /target/etc/fstab ;\
worker() { grub-install --force --root-directory=/target $2 &&\
parted -s $3 -- set ${4##*-} boot on; } ;\
worker $(lsblk -lpo MOUNTPOINT,KNAME,PKNAME,PARTUUID | grep '/target ');
em última análise, acho que a onipresença precisa ser atualizada para refletir as seleções na interface do usuário.