Anteriormente, configurei a inicialização PXE dos Ubuntu LiveCDs extraindo o ISO para uma montagem NFS e copiando vmlinuz.efi e initrd.gz do casper para o diretório tftpboot com alguma mágica de script do iPXE.
Isso funcionou perfeitamente para 16.04, 16.10 e 17.10 (Artful).
Com o 18.04, primeiro descobri que o vmlinuz.efi não existe mais no casper, mas o vmlinuz existe. Então, eu tento novamente com alguma mudança de nome ...
E agora ainda não conclui a inicialização. Eu recebo o "modo de emergência". Digitar 'journalctl -xb' (conforme sugerido pelo prompt do modo de emergência) e navegar leva ao seguinte:
Unit sys-fs-fuse-connections has begun starting up.
ubuntu systemd[1]: Failed to set up mount unit: Device or resource busy
ubuntu systemd[1]: Failed to set up mount unit: Device or resource busy
sys-kernel-config.mount: Mount process finished, but there is no mount.
sys-kernel-config.mount: Failed with result 'protocol'.
Failed to mount Kernel Configuration File System.
Socorro!
Adicionado 2018-04-30:
Código de script usado para extrair ISO para montagem PXE (TARGET definido como nome da imagem, por exemplo, biônico):
set -e
# Look for bionic.iso as the ISO I am going to extract.
TARGET=invalid.iso
[ -f bionic.iso ] && TARGET=bionic
echo TARGET=$TARGET
# Mount the ISO to the /tmp directory
sudo rm -rf /var/nfs/$TARGET/*
sudo rm -rf /tmp/$TARGET
mkdir /tmp/$TARGET
sudo mount -o loop ~/$TARGET.iso /tmp/$TARGET
# Clear up the NFS directory where things will be copied (and copy them)
sudo rm -rf /var/nfs/$TARGET
sudo mkdir /var/nfs/$TARGET
sudo rsync -avH /tmp/$TARGET/ /var/nfs/$TARGET
# I've not had luck with iPXE changing filesystems to find
# vmlinuz, vmlinuz.efi, or initrd.gz... so I copy those files
# specifically to the tftp directory structure so the boot loader
# can load them.
sudo rm -rf /var/lib/tftpboot/$TARGET
sudo mkdir /var/lib/tftpboot/$TARGET
sudo cp /tmp/$TARGET/casper/vmlinuz* /var/lib/tftpboot/$TARGET/.
sudo cp /tmp/$TARGET/casper/initrd.lz /var/lib/tftpboot/$TARGET/.
# Cleanup: unmount the ISO and remove the temp directory
sudo umount /tmp/$TARGET/
sudo rm -rf /tmp/$TARGET/
echo Done.
Respostas:
Eu resolvi esse problema no iPXE seguindo os conselhos de "Woodrow Shen" no rastreador de erros do Launchpad .
Basicamente, eu adaptei nossa entrada antiga para o ubuntu 16.04.3:
Para ficar assim no ubuntu 18.04:
observe as seguintes alterações:
vmlinuz.efi
para estarvmlinux
nas linhas 4 e 6toram
opção à linha 6nfs_path
para coincidir com a localização do novo extrato ISOObserve que, conforme indicado na Barra de Ativação, esta
toram
opção requer RAM adicional. Nos meus testes, eu precisava garantir que minhas máquinas virtuais tivessem 4 GB de RAM alocadaObserve que isso também funciona para os sistemas EFI e BIOS herdado.
fonte
toram
opção funcionou para mim com hortelã 19!toram
e permite inicializar um computador com muito menos RAM: altere o final da linha 6 paraip=dhcp systemd.mask=tmp.mount ro -- || read void
Após o fim de semana, encontrei um bug relatado descrevendo meus sintomas exatos (e fornece uma solução interativa).
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1755863
Aparentemente, eu vou estar esperando em 18.04.1. Pelo menos agora eu sei que não sou (totalmente) louco!
fonte
atualização abaixo - não use o iso ao vivo, use o tradicional, que pode ser inicializado por PXE exatamente como eu costumava fazer
para o ubuntu 14.04 e 16.04, eu simplesmente montei o DVD ISO do servidor completo em loopback para que ele fosse acessível por um servidor da web e configurei a inicialização PXE da maneira usual (copiei o kernel e o initrd para o daemon tftp, opção do próximo servidor DHCP , menu pxe etc).
temos um processo de kickstart para automatizar totalmente a implantação de nós.
isso simplesmente não funciona com o 18.04, não havia kernel no diretório de instalação e nenhum diretório install / netboot / ubuntu-installer / amd64! Então, tentei o kernel e o initrd no diretório casper, mas isso também é inútil. Peguei o DVD netinstall iso e usei o kernel e o initrd. Na verdade, ele aciona o instalador de texto, mas insiste que o espelho está faltando um arquivo, mas o log do meu servidor http não está dando nenhum erro 404!
No geral, sinto que o ISO do servidor ubuntu 18.04 é um passo retrógrado para as pessoas que desejam fazer instalações automatizadas.
Eu também tentei adicionar isso ao kickstart
cadeia de instalação ao vivo / imagem da rede preseed http: //myreposerver/ubuntu-18.04-live-server-amd64/casper/filesystem.squashfs
que é algo parecido com o que eu tinha que fazer para tornar a inicialização do Ubuntu 14.04 PXE automatizável
fonte