Ich versuche, das Netzwerkbooten von Ubuntu über iPXE und NFS einzurichten mini.iso
. Ich gehe derzeit alles über die iPXE-Befehlszeile durch, anstatt über ein Skript. Ich habe darauf geachtet, iPXE mit aktiviertem NFS zu erstellen, und das scheint gut zu funktionieren, da ich initrd.gz
problemlos dorthin gelangen kann. Aber ich kann nicht herausfinden, wie ich iPXE sagen kann, was der Kernel ist. Ich nahm an, dass die linux
Datei der Kernel wäre, aber wenn ich versuche, iPXE anzuweisen, diese Datei zu verwenden, gibt es eine Fehlermeldung aus Exec format error (http://ipxe.org/2e008081)
.
Um genauer ins Detail zu gehen, hier ist, wie das System aufgebaut ist:
- mini.iso wird auf einem QNAP TurboNAS als freigegebener Ordner gemountet, mit aktiviertem Gastzugriff über NFS
- Neuer Server-PXE-Boot, lädt iPXE kettenweise über TFTP
- Ich
<Ctrl-B>
melde mich bei der iPXE-Befehlszeile an initrd nfs://guest@<nfs ip address>/Ubuntu1604Mini/initrd.gz
funktioniert einwandfreikernel nfs://guest@<nfs ip address>/Ubuntu1604Mini/linux
flippt aus mit obigem Fehler
Es fällt mir schwer, diese Frage zu googeln, da alles andere von einem Nicht-Net-Boot-Image auszugehen scheint. Alle diese Anweisungen setzen also die Existenz des casper
Verzeichnisses voraus, casper/vmlinuz
aber die Datei mini.iso scheint eine ganz andere Struktur zu haben.
Für jede Hilfe wäre ich sehr dankbar! Danke!
Bearbeiten
Falls relevant: Der gesamte NFS-Gastzugriff ist schreibgeschützt.
Bearbeitung 2:
Es scheint, dass dies tatsächlich ein UEFI-Problem ist. Ich habe in der Dokumentation gefunden, dass die mini.iso nicht für das Booten in UEFI-Umgebungen eingerichtet ist. Ich habe also versucht, dies über die Ubuntu 16.04 Server .ISO zum Laufen zu bringen, und ich habe immer noch Probleme; aus einigen oberflächlichen Websuchen geht hervor, dass vmlinuz unter Ubuntu 16.04 nicht mit den EFI-Stubs kompiliert ist. Ich habe die Datei EFI/BOOT/BOOTx64.EFI gefunden, aber wenn ich diese mit iPXE verkette, versucht sie, ein Netbook-Image über TFTP zu finden, daher bin ich mir nicht 100 % sicher, was das macht oder welche Argumente ich übergeben kann.
Antwort1
Ich hatte das gleiche Problem beim Debian-Live-Booten auf NFS. Die IPXE-Dokumentation bezieht sich auf den Boot-Fall mit BIOS, aber nicht mit EFI. Die Lösung hängt, wie Sie erwähnen, mit EFI zusammen.
Fügen Sie der Zeile „imgargs“ den Parameter „initrd=initrd_file_name“ hinzu.
Die Quelle dieser Informationen ist:http://forum.ipxe.org/showthread.php?tid=7522
Ich finde es zwar nicht in der offiziellen Dokumentation, aber bei mir funktioniert es mit EFI.