cosinus
Anmeldungsdatum: 11. Mai 2010
Beiträge: 1372
|
Hallo, ich habe bei mir im Büro einen Linuxserver mit dem Debian-Netboot so eingerichtet, dass ich Clients über UEFI-PXE von Netzwerk booten kann und habe es auch geschafft, ein grml zu integrieren. Jetzt wollte ich nochmal versuchen ein Ubuntu MATE hinzufügen. Mein Menueintrag in der grub.cfg für grml sieht so aus: menuentry "grml64 live full sid 2022-06-16 build 3820" {
linuxefi /grml/vmlinuz boot=live noswap lang=de fetch=tftp://192.168.2.2/grml/grml64-full_sid.squashfs
initrdefi /grml/initrd.img
} Damit zieht der sich das gesamte SQFS-Paket und danach bootet er auch direkt. Ich hab aber den Eindruck, dass das bei Ubuntu nicht vorgesehen ist und man per NFS an die OS-Bestandteile ran muss. Hat einer eine Idee was man da eintragen muss? Muss der gesamte Inhalt einer Ubuntu-ISO in das Verzeichnis ( welches per NFS freigegeben wurde)?
Es muss doch irgendwie möglich sein, ein Ubuntu MATE über Netzwerk so in den Ausprobiermodus zu booten, wie man es vom Stick oder DVD auch her kennt...oder geht das grundsätzlich nicht?
|
schollsky
Anmeldungsdatum: 3. Dezember 2012
Beiträge: 1338
|
Hallo cosinus, hilft Dir das Wiki ggf. weiter? https://wiki.ubuntuusers.de/PXE-Boot/ Grüße schollsky
|
cosinus
(Themenstarter)
Anmeldungsdatum: 11. Mai 2010
Beiträge: 1372
|
schollsky schrieb: Hallo cosinus, hilft Dir das Wiki ggf. weiter?
https://wiki.ubuntuusers.de/PXE-Boot/
Danke ich schau mir das nochmal an, hab dort nichts über die grub.cfg gefunden. Aber vllt helfen mir die Parameter weiter, die für die anderen Menueinträge sind.
|
cosinus
(Themenstarter)
Anmeldungsdatum: 11. Mai 2010
Beiträge: 1372
|
Es klappt nicht. Er findet eine Datei nicht. Welche das sagt er mir nicht.
Ist denn das nicht möglich einfach per TFTP die squashfs zu "fetchen" um dann durchzubooten? Wozu wird da unbedingt NFS benötigt??? Bei grml geht es doch auch ohne NFS!
|
schollsky
Anmeldungsdatum: 3. Dezember 2012
Beiträge: 1338
|
Die Methode mit grml habe ich es bisher nicht versucht, und ich kannte sie bis dato auch nicht. Seinerzeit habe ich den Artikel für 20.04 überarbeitet und getestet. Von daher kann ich bestätigen, dass das klappt. Hast Du manuell die genannten Dateien pxelinux.cfg und default angelegt und angepasst? Grüße schollsky
|
cosinus
(Themenstarter)
Anmeldungsdatum: 11. Mai 2010
Beiträge: 1372
|
Die pxelinux.cfg benötige ich garnicht (mehr), denn ich boote im UEFI-Modus und da wird doch nur die grub.cfg genutzt für das Menü. Mein DHCP-Server gibt als Namen der Startdatei die bootnetx64.efi an. Hab ich aus dem Debian-Netboot-Package, das darin enthaltene Menü (grub.cfg) wollte ich dann nur entsprechend anpassen. Mit grml funktioniert das wie gesagt (Debian kann ich damit auch installieren), aber Ubuntu scheint da anders zu ticken, da reicht es nicht, ihm die squashfs aus der ISO per TFTP-fetch mitzugeben. Und die Syntax scheint in der grub.cfg auch leicht anders zu sein als über pxelinux.cfg bzw syslinux ...
|
cosinus
(Themenstarter)
Anmeldungsdatum: 11. Mai 2010
Beiträge: 1372
|
So, nochmal etwas ausführlicher 😀 Mein TFTP-Hauptverzeichnis ist /tftpboot - darin ist der Ordner debian-installer aus dem Debian-Netboot-Package. Der Ordner grml darin hat enthält bloß die vmlinuz, initrd.img und das SQFS (alles aus dem grml iso) - natürlich sind auch die nötigen Startdateien für UEFI-PXE vorhanden, sonst könnte ich ja auch garnix booten, weder grml noch den debian-installer. Nur meine eigentliche Frage: wenn ich da einen Ordner ubuntu reinsetze, was genau muss da alles rein? Was ist da die Voraussetzung? Der komplette Inhalt der Ubuntu-ISO? root@bootserver:/tftpboot# l
insgesamt 20K
drwxr-xr-x 5 root root 4,0K 2022-06-22 16:43 .
drwxr-xr-x 24 root root 4,0K 2022-06-22 13:17 ..
drwxr-xr-x 3 root root 4,0K 2022-03-22 18:37 debian-installer
drwxr-xr-x 2 root root 4,0K 2022-06-16 16:23 grml
lrwxrwxrwx 1 root root 27 2022-06-16 12:30 grub -> debian-installer/amd64/grub
lrwxrwxrwx 1 root root 35 2021-03-22 08:28 pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg
drwxr-xr-x 2 root root 4,0K 2022-06-22 12:43 ubuntu
lrwxrwxrwx 1 root root 43 2022-06-16 14:57 1stmenu.cfg -> debian-installer/amd64/boot-screens/txt.cfg
lrwxrwxrwx 1 root root 37 2022-06-16 12:15 bootnetx64.efi -> debian-installer/amd64/bootnetx64.efi
lrwxrwxrwx 1 root root 36 2022-06-21 13:41 grub.cfg -> debian-installer/amd64/grub/grub.cfg
lrwxrwxrwx 1 root root 34 2022-06-16 12:30 grubx64.efi -> debian-installer/amd64/grubx64.efi
lrwxrwxrwx 1 root root 47 2021-03-22 08:28 ldlinux.c32 -> debian-installer/amd64/boot-screens/ldlinux.c32
lrwxrwxrwx 1 root root 20 2021-06-16 13:38 menu -> pxelinux.cfg/default
lrwxrwxrwx 1 root root 33 2021-03-22 08:28 pxelinux.0 -> debian-installer/amd64/pxelinux.0
|
schollsky
Anmeldungsdatum: 3. Dezember 2012
Beiträge: 1338
|
Ob das alles ohne NFS geht, weiß ich nicht. Ansonsten bitte an die Anleitung im WIKI halten. Vielleicht hat ja noch jemand anderes Erfahrungen hierzu? Grüße schollsky
|
cosinus
(Themenstarter)
Anmeldungsdatum: 11. Mai 2010
Beiträge: 1372
|
Ok, ich lese mir morgen nochmal in Ruhe von vorn bis hinten den von dir verlinkten Artikel durch 😎
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 7816
|
schollsky schrieb: Ob das alles ohne NFS geht, weiß ich nicht.
PXE-Boot verwendet kein NFS. Es benötigt einen DHCP-Server im Netz zum Bezug der IP-Adresse und einen TFTP-Server zum Bezug der Dateien.
Ansonsten bitte an die Anleitung im WIKI halten.
Die im Wiki vermerkte Erfordernis eines NFS-Servers verwundert mich. Vielleicht hat aber die Installation des NFS-Servers hilfreiche Nebeneffekte, die ich nicht überblicke. Jedenfalls muss es grundsätzlich auch ohne einen solchen Server gehen.
|
cosinus
(Themenstarter)
Anmeldungsdatum: 11. Mai 2010
Beiträge: 1372
|
kB schrieb: Die im Wiki vermerkte Erfordernis eines NFS-Servers verwundert mich. Vielleicht hat aber die Installation des NFS-Servers hilfreiche Nebeneffekte, die ich nicht überblicke. Jedenfalls muss es grundsätzlich auch ohne einen solchen Server gehen.
Ja, das geht auch, zumindest hab ich das bei grml geschafft (und gparted auch, das hab ich aber wieder rausgeschmissen da überflüssig) indem man per TFTP die squashfs Datei fetcht.
|
schollsky
Anmeldungsdatum: 3. Dezember 2012
Beiträge: 1338
|
Hallo kB, Du schriebst:
PXE-Boot verwendet kein NFS. Es benötigt einen DHCP-Server im Netz zum Bezug der IP-Adresse und einen TFTP-Server zum Bezug der Dateien.
Naja, wenn die Auswahl über die Datei menu32 geht, finden sich da folgende Zeilen: DEFAULT menu.c32
MENU TITLE Server PXE Boot Menu
TIMEOUT 100
LABEL memtest
MENU LABEL Memtest86+
KERNEL memtest/mt86plus
LABEL Ubuntu
MENU LABEL ^Ubuntu 18.04 LTS Desktop
MENU DEFAULT
KERNEL Freigabe_XUbuntu_18.04/vmlinuz
APPEND root=/dev/nfs netboot=nfs nfsroot=192.168.178.48:/var/lib/tftp/Freigabe_Ubuntu_18.04/ splash initrd=Freigabe_Ubuntu_18.04/initrd boot=casper toram --- Die Kernelparameter sind für mich ziemlich eindeutig. Es gibt wohl viele Wege nach Rom... Grüße schollsky
|
kB
Supporter, Wikiteam
Anmeldungsdatum: 4. Oktober 2007
Beiträge: 7816
|
schollsky schrieb: […] wenn die Auswahl über die Datei menu32 geht, finden sich da folgende Zeilen […] Die Kernelparameter sind für mich ziemlich eindeutig.
Das kann man natürlich so machen und es ist auch sinnvoll, es so zu machen, nur hat es nichts mit PXE bzw. per Netzwerk booten zu tun. Der Boot-Vorgang per Netzwerk ist ja beendet, sobald PXE per TFTP den Bootmanager pxelinux samt Zubehör und Menü-Datei bezogen und gestartet hat. pxelinux lädt dann per TFTP gemäß den Angaben des gewählten Menüeintrags den Linux-Kernel und dessen initrd.img und startet den Kernel, dieser startet das Programm init aus der initrd.img. Bis dahin benötigt man kein NFS. Erst init mountet dann das gewünschte Root-Dateisystem, das kann eine NFS-Freigabe oder etwas anderes sein. Also: Wenn man NFS zusammen mit PXE verwendet (was sinnvoll, aber nicht zwingend ist), das ist dessen Aufgabe nur als Root-Dateisystem für das zu startende Linux-System zu dienen.
|
schollsky
Anmeldungsdatum: 3. Dezember 2012
Beiträge: 1338
|
Ah, danke für die Klarstellung! ☺
|
cosinus
(Themenstarter)
Anmeldungsdatum: 11. Mai 2010
Beiträge: 1372
|
Also ich probiers auch gerne mit NFS, aber vorher muss ich nochmal nachhaken. Im Artikel steht ja:
/var/lib/tftp/Freigabe_einer_Distribution/ - dieses Verzeichnis ist das Rootverzeichnis des Clients in der jeweiligen gebooteten Distribution.
Was genau muss ich denn nun in den Ordner Freigabe_einer_Distribution kopieren? Dieser Ordner wird per NFS freigegeben.
|