Hallo cosinus,
Du könntest z.B. die Installations-ISO in einem virtuellen Laufwerk mounten und den Inhalt in den Freigabeordner kopieren.
Anmeldungsdatum: Beiträge: 1338 |
Hallo cosinus, Du könntest z.B. die Installations-ISO in einem virtuellen Laufwerk mounten und den Inhalt in den Freigabeordner kopieren. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 1372 |
Ah okay danke für die Bestätigung, so hatte ich mir das auch schon gedacht. Dann werde ich das Montag nochmal in Angriff nehmen. NFSv4 funktioniert doch nachdem man per PXE gebootet hat oder muss das NFSv2/3 sein? |
Anmeldungsdatum: Beiträge: 1338 |
Getestet hatte ich seinerzeit mit Focal. Ob NFS4 funktioniert, kann ich daher nicht sagen. |
(Themenstarter)
Anmeldungsdatum: Beiträge: 1372 |
SO, ich probier jetzt doch nochmal bei mir aus, dauert alles nur etwas länger. Und muss schon wieder nachhaken:
Ich kann diese Kernelparameter einfach nicht nachvollziehen! Ich hab da auch so meine Probleme, die auf die meine grub.cfg zu übertragen... 1. Wieso muss man root=/dev/nfs angeben? Ist das nicht Doppelmoppel wenn man schon nfsroot benutzt? 2. den Kernel lädt er per TFTP? 3. Ist der Pfad bei nitrd wirklich so richtig? Fehlt da nicht der Ordner "casper" davor? Zieht der sich die initrd da schon per NFS oder per TFTP? 4. Da ich ja mehrfach schon erwähnte, dass ich im UEFI-Modus boot, muss ich da linuxefi und initdefi reinschreiben oder ohne das efi am Ende? Mit grml klappt es nur mit linuxefi/initrdefi |
Anmeldungsdatum: Beiträge: 1338 |
Hallo cosinus, für das Netzwerk-Booten ist es soweit ich das überblicke, unerheblich ob UEFI (oder BIOS), es wird auch keine grub.cfg verwendet, sondern Syslinux und NFS (s. Wiki). GRUB wird nicht verwendet. SYSLINUX startet die initrd. Aus dem WIKI: Zuerst findet man mit uname heraus, welcher Kernel aktiv ist. Die dazugehörige initrd.img... wird dann in das /home-Verzeichnis kopiert[2][4][5]: ls -ltr /boot/initrd* -rw-r--r-- 1 root root 3,4M 2009-04-17 05:41 /boot/initrd.img-2.6.28-11-generic -rw-r--r-- 1 root root 3,4M 2009-06-02 11:41 /boot/initrd.img-2.6.28-13-generic sudo cp /boot/vmlinuz-2.6.28-13-generic /home/BENUTZERNAME sudo cp /boot/initrd.img-2.6.28-13-generic /home/BENUTZERNAME Jetzt muss eine neue initrd.img-Datei erstellt werden. Dafür muss das Bootflag in der Datei initramfs.conf von local nach nfs geändert werden. Die Konfigurationsdatei befindet sich im Verzeichnis /etc/initramfs-tools/.[3] # # BOOT: [ local | nfs ] # # local - Boot off of local media (harddrive, USB stick). # # nfs - Boot using an NFS drive as the root of the drive. # BOOT=nfs Grüße schollsky |
(Themenstarter)
Anmeldungsdatum: Beiträge: 1372 |
Ok, dann hab ich ein anderes Setup. Ich nutze die bootnetx64.efi aus dem Debian Netboot Package, vllt tickt die da anders. Wenn ich die anboote, dann sind die Menüeinträge jedenfalls wirkungslos, es wird dann nur die grub.cfg beachtet. Im CSM-Modus wollte ich auch auf keinen Fall mehr booten. Mal sehen ob ich das noch weiter verfolge, kann auch auf ein Ubuntu-Netboot verzichten, aber gewurmt hat mich das gestern schon irgendwie ^^ |
Supporter, Wikiteam
Anmeldungsdatum: Beiträge: 7816 |
Das kenne ich nicht, aber GRUB tickt mit Sicherheit anders als pxelinux. Wenn GRUB per TFTP etwas vom Netzwerk laden soll, dann muss der TFT-Server in das ausführbare GRUB-Programm eingebunden werden und wird dann in den Menüeinträgen per |
(Themenstarter)
Anmeldungsdatum: Beiträge: 1372 |
Macht denn niemand außer mir den netboot im UEFI-Modus? 😲 Ich würde auch gerne mal wissen, warum es bei grml reicht, einfach die vmlinuz, initrd und squashfs anzugeben, während man bei Ubuntu herumfrickeln muss...aber gut, ich kann auch ohne Ubuntu leben wenn es mich nicht mag 😈 |
Anmeldungsdatum: Beiträge: 828 |
Mit Grub und Netboot kann ich dir nicht helfen. Ich hab hier ein Setup mit iPXE/dnsmasq/Apache. Zum Booten brauchst du Zugriff auf den Inhalt der Iso, zumindest auf /casper/{vmlinuz,initrd}, ich hab dafür die Iso am Server gemountet (Ordner iso/ubuntu-22.04-desktop-amd64). Minimale Parameter für PXE Boot mit http Freigabe (Iso wird in RAM geladen, ab 8 GB RAM), z.B: boot=casper ip=dhcp url=http://<IP>/iso/ubuntu-22.04-desktop-amd64.iso Boot mit NFS (nur benötigte Daten werden geladen, PXE Server muß durchgehend laufen, ab 2 GB RAM) boot=casper ip=dhcp netboot=nfs nfsroot=<IP>:/iso/ubuntu-22.04-desktop-amd64 Wie man Grub dazu bringt, von ftp zu booten kann ich nicht sagen Gruß TNT |
(Themenstarter)
Anmeldungsdatum: Beiträge: 1372 |
Schrieb ich FTP? Wie auch immer, ich meinte TFTP. Über TFTP kommt ja auch der initiale Boot, also bootnetx64.efi. Und über TFTP lade ich ja auch die vmlinuz sowie initrd und das squashfs von grml...nur bei Ubuntu will es irgendwie nicht hinhauen. Ist aber auch nicht schlimm, ich kann ja mit grml im Prinzip alles machen, war halt nur neugierig ob ich das auch mit ubuntu (mate) hinbekomme. Für den Fall dass ich doch mal ein Ubuntu live benötige, muss ich halt einfach nen USB-Stick nutzen. Falls noch jemand was weiß kann er hier gerne was reinschreiben, aber wegen meiner müsst ihr euch hier nicht mehr den Kopf zerbrechen ☺ |
(Themenstarter)
Anmeldungsdatum: Beiträge: 1372 |
So langsam habe ich den Eindruck, dass Ubuntu nicht wirklich (mehr) dazu geeignet ist, anders zu booten als über die Live-DVD oder einem Stick. Bin hier über Netzwerk nicht mehr weitergekommen also hab ich testweise mal versucht über die grub.cfg die Ubuntu-ISO anzubooten. (das loopback geht merkwürdigerweise auch mal wieder nicht im UEFI-Modus aber egal...) - jedenfalls auf einem Rechner im CSM-Modus schaffe ich es auch vmlinuz und initrd aus dem Ubuntu-ISO zu laden, es kommt dann aber danach die ganze Zeit das hier: /init: line 49: can't open /dev/sr0: No medium found |
(Themenstarter)
Anmeldungsdatum: Beiträge: 1372 |
So, ich habs jetzt doch hinbekommen 😀 Weder über TFTP, noch über NFS ließ sich Ubuntu MATE überreden, den netboot durchzuziehen. Nach gefühlter ewiger Sucherei bin ich über die Option "url" gestolpert, mit der man gleich die gesamte auf irgendeinem http Server bereitgestellte ISO von Ubuntu ziehen und dann auch via UEFI-PXE durchbooten kann. So sieht nun mein menuentry für Ubuntu MATE 22.04 in der grub.cfg aus: menuentry "Ubuntu MATE 22.04" { echo "Booting Ubuntu MATE 22.04 (UEFI-PXE)" echo "Loading Ubuntu vmlinuz ..." linuxefi /ubuntu/vmlinuz root=/dev/ram0 noswap lang=de ip=dhcp url=http://192.168.2.2/ubuntu-mate-22.04-desktop-amd64.iso echo "Loading Ubuntu initrd ..." initrdefi /ubuntu/initrd } edit: ups...das hat TNTMaster ja auch geschrieben mit "url" 😳 hab ich gepflegt überlesen 🤣 Hauptsache es funzt nun 👍 |