Wcześniej konfigurowałem uruchamianie PXE LiveCD z Ubuntu, wyodrębniając ISO na mount NFS i kopiując vmlinuz.efi i initrd.gz z caspera do katalogu tftpboot z pewną magią skryptową iPXE.
Działa to bezbłędnie dla 16.04, 16.10 i 17.10 (pomysłowe).
W 18.04 po raz pierwszy odkryłem, że vmlinuz.efi już nie istnieje w Casper, ale vmlinuz tak. Próbuję ponownie, zmieniając nazwy ...
A teraz nadal nie kończy uruchamiania. Dostaję „tryb awaryjny”. Wpisanie „Journalctl -xb” (zgodnie z sugestią w trybie awaryjnym) i przeglądanie prowadzi do następujących sytuacji:
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.
Wsparcie!
Dodano 30.04.2018:
Kod skryptu użyty do wyodrębnienia ISO dla montażu PXE (TARGET ustawiony na nazwę obrazu, np. Bioniczny):
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.