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.
Odpowiedzi:
Rozwiązałem ten problem w iPXE, postępując zgodnie z radą „Woodrow Shen” w narzędziu do śledzenia błędów Launchpad .
Zasadniczo dostosowałem nasz stary wpis do Ubuntu 16.04.3:
Aby wyglądać tak dla Ubuntu 18.04:
zwróć uwagę na następujące zmiany:
vmlinuz.efi
sięvmlinux
na linii 4 i 6toram
opcję do wiersza 6nfs_path
aby dopasować lokalizację nowego wyciągu ISOzwróć uwagę, że jak wskazano na Launchpadzie, ta
toram
opcja wymaga dodatkowej pamięci RAM. W moich testach musiałem upewnić się, że moje maszyny wirtualne mają przydzielone 4 GB pamięci RAMPamiętaj, że działa to również w przypadku naszych systemów EFI i starszych systemów BIOS.
źródło
toram
opcja działała dla mnie z mennicą 19!toram
i pozwala na uruchomienie komputera z dużo mniejszą pamięcią RAM: zmień koniec linii 6 naip=dhcp systemd.mask=tmp.mount ro -- || read void
Po weekendzie znalazłem zgłoszony błąd opisujący moje dokładne objawy (i zapewnia interaktywne obejście).
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1755863
Najwyraźniej będę czekał 18.04.1. Przynajmniej teraz wiem, że nie jestem (całkowicie) szalona!
źródło
aktualizacja poniżej - nie używaj live iso, użyj tradycyjnego, który można uruchomić w środowisku PXE dokładnie tak, jak kiedyś
w przypadku Ubuntu 14.04 i 16.04 po prostu zamontowałem pętlę z powrotem pełnego dysku DVD ISO serwera, aby był dostępny przez serwer WWW, i skonfigurowałem rozruch PXE w zwykły sposób (skopiowałem jądro i initrd do demona tftp, opcja następnego serwera DHCP , menu pxe itp.).
mamy proces kickstart, aby w pełni zautomatyzować wdrażanie węzłów.
to po prostu nie działa z 18.04, nie było jądra w katalogu instalacyjnym i nie ma katalogu install / netboot / ubuntu-installer / amd64! Wypróbowałem więc jądro i initrd z katalogu caspera, ale to też jest bezużyteczne. Chwyciłem iso z płyty DVD z programem netinstall i skorzystałem z jądra i initrd. W rzeczywistości uruchamia instalator tekstu, ale twierdzi, że w kopii lustrzanej brakuje pliku, ale dziennik z mojego serwera HTTP nie podaje żadnych 404!
ogólnie rzecz biorąc, uważam, że ISO serwera Ubuntu 18.04 jest krokiem wstecz dla osób chcących wykonywać automatyczne instalacje.
Próbowałem też dodać to do kickstartu
preseed live-installer / net-image string http: //myreposerver/ubuntu-18.04-live-server-amd64/casper/filesystem.squashfs
co jest trochę rzeczą, którą musiałem zrobić, aby uruchomić system Ubuntu 14.04 PXE w sposób automatyczny
źródło