Zuvor habe ich das PXE-Booten der Ubuntu LiveCDs eingerichtet, indem ich die ISO auf einen NFS-Mount extrahiert und mit iPXE-Skriptmagie vmlinuz.efi und initrd.gz von casper in das Verzeichnis tftpboot kopiert habe.
Dies funktionierte einwandfrei für 16.04, 16.10 und 17.10 (Artful).
Mit 18.04 stelle ich zuerst fest, dass vmlinuz.efi nicht mehr in casper existiert, aber vmlinuz. Also versuche ich es nochmal mit einer Namensänderung ...
Und jetzt wird das Booten immer noch nicht abgeschlossen. Ich bekomme den "Notfallmodus". Das Eingeben von 'journalctl -xb' (wie von der Eingabeaufforderung für den Notfallmodus vorgeschlagen) und das Durchsuchen führt zu folgenden Ergebnissen:
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.
Hilfe!
Hinzugefügt am 30.04.2018:
Skriptcode zum Extrahieren von ISO für PXE-Mount (TARGET auf Image-Namen gesetzt, z. B. bionisch):
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.
Antworten:
Ich habe dieses Problem in iPXE umgangen, indem ich dem Rat von "Woodrow Shen" beim Launchpad-Bug-Tracker gefolgt bin .
Grundsätzlich habe ich unseren alten Eintrag für Ubuntu 16.04.3 angepasst:
So sieht es für Ubuntu 18.04 aus:
Beachten Sie die folgenden Änderungen:
vmlinuz.efi
invmlinux
Zeile 4 und 6toram
Option zu Zeile 6 hinzunfs_path
, um den Speicherort des neuen ISO-Extrakts anzupassenBeachten Sie, dass für diese
toram
Option , wie im Launchpad erwähnt, zusätzlicher RAM erforderlich ist. Bei meinen Tests musste ich sicherstellen, dass meinen virtuellen Maschinen 4 GB RAM zugewiesen wurdenBeachten Sie, dass dies auch für unsere EFI- und Legacy-BIOS-Systeme funktioniert.
quelle
toram
Option hat bei mir mit Mint 19 funktioniert!toram
Computer mit viel weniger RAM erfordert und es erlaubt, ihn zu booten: Ändern Sie das Ende von Zeile 6 aufip=dhcp systemd.mask=tmp.mount ro -- || read void
Nach dem Wochenende habe ich einen gemeldeten Fehler gefunden, der meine genauen Symptome beschreibt (und eine interaktive Problemumgehung bietet).
https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1755863
Anscheinend werde ich am 18.04.1 warten. Zumindest weiß ich jetzt, dass ich nicht (ganz) verrückt bin!
quelle
Update unten - verwende nicht die Live-ISO, sondern die traditionelle, mit der PXE genauso gebootet werden kann, wie ich es früher getan habe
Für Ubuntu 14.04 und 16.04 habe ich einfach die vollständige Server-DVD-ISO per Loopback gemountet, damit über einen Webserver darauf zugegriffen werden kann, und den PXE-Start auf die übliche Weise eingerichtet (Kernel und initrd wurden in den tftp-Daemon kopiert, DHCP-Next-Server-Option) , pxe menu etc).
Wir haben einen Kickstart-Prozess, um die Bereitstellung von Knoten vollständig zu automatisieren.
Dies funktioniert einfach nicht mit 18.04, es gab keinen Kernel im Installationsverzeichnis und kein Verzeichnis install / netboot / ubuntu-installer / amd64! Also habe ich den Kernel und initrd aus dem Casper-Verzeichnis ausprobiert, aber das ist auch nutzlos. Ich schnappte mir die Netinstall-DVD iso und benutzte den Kernel und die initrd davon. Tatsächlich wird das Textinstallationsprogramm gestartet, aber es wird darauf hingewiesen, dass dem Spiegel eine Datei fehlt, aber das Protokoll von meinem http-Server gibt keine 404s aus!
Insgesamt bin ich der Meinung, dass die ISO des Ubuntu 18.04-Servers ein rückläufiger Schritt für Leute ist, die automatisierte Installationen durchführen möchten.
Ich habe auch versucht, dies zum Kickstart hinzuzufügen
preseed live-installer / net-image string http: //myreposerver/ubuntu-18.04-live-server-amd64/casper/filesystem.squashfs
Das ist ungefähr das, was ich tun musste, um Ubuntu 14.04 PXE automatisierbar zu machen
quelle