In precedenza, avevo impostato l'avvio PXE dei LiveCD di Ubuntu estraendo l'ISO su un mount NFS e copiando vmlinuz.efi e initrd.gz dal casper alla directory tftpboot con un po 'di magia di scripting iPXE.
Questo ha funzionato perfettamente per 16.04, 16.10 e 17.10 (Artful).
Con 18.04, ho scoperto che vmlinuz.efi non esiste più in casper, ma vmlinuz lo fa. Quindi, riprovo con un cambio di nome ...
E ora non completa ancora l'avvio. Ottengo la "modalità di emergenza". Digitando "journalctl -xb" (come suggerito dal prompt della modalità di emergenza) e la navigazione porta a quanto segue:
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.
Aiuto!
Aggiunto il 30-04-2018:
Codice dello script utilizzato per estrarre ISO per l'attacco PXE (TARGET impostato sul nome dell'immagine, ad esempio bionico):
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.