mSDsBvPIs (Teil 8: NetBoot)

Dieser vorläufig letze Teil meiner mSDsBvPIs-Serie beschreibt ein Feature, welches erst mit den neuen Raspberry PI 3 geht: Vollständiges booten via Netzwerk ohne jegliche SD Karte.

Eigentlich ist es sehr einfach, hält man sich an die Anleitung auf raspberypi.org. Hier wird beschrieben, wie man den PI3 entsprechend in den notwendigen Netwerkboot Modus versetzt und auch, wie man ein minimales Image (bzw. das, was sich auf der jeweiligen microSD Karte (noch) befindet auf einem Netzwerkshare ablegt.

Da ich das ganze mit meiner kleinen QNAP zusammen nutzen möchte, entfällt bei mir das oftmals zitierte Beispiel mit einem weiteren PI. Bei mir soll die QNAP PXE Image und NFS Mount bereitstellen. Während letzteres doch noch relativ „trivial“ einzurichten ist, findet man erst mal die Stelle, an der die NFS Shares freigegeben werden, bleibt „nur noch“ einen entsprechenden Dienst für das Bootimage bereitzustellen. Irgendwo im Netz geisterte mal ein QPKG mit DNSmasq herum aber das lies sich nicht (mehr) mit meiner aktuellen Firmware installieren. Also habe ich mich mal „todesmutig“ an Entware-NG gemacht, einem alternativen Paket-Repository. Ist das für die eigene QNAP benötigte Image erst mal installiert, installiert man sich apt-like die gewünschten Pakete einfach mittels opkg. In meinem Fall also opkg -install dnsmasq

Die entsprechende Konfiguration für dnsmasq findet sich, ein wenig versteckt, unter /share/MD0_DATA/.qpkg/Entware-ng/etc/dnsmasq.conf und kann, analog zu o.g. Tutorial wie folgt ersetzt werden:

port=0
dhcp-range=192.168.178.255,proxy
log-dhcp
enable-tftp
tftp-root=/share/MD0_DATA/TFTP-ROOT
pxe-service=0,"Raspberry Pi Boot"

Wie man sieht, liegt das Boot-Image im Ordner TFTP-ROOT. Dies ist allerdings „nur“ ein Symlink auf den „/boot“-Folder meines, dem Tutorial folgend kopierten, Images. So spart man sich die Kernels usw. regelmäßig zu updaten und alles passt zum Image.

Final bleibt dann „nur noch“ die cmdline.txt entsprechend zu pflegen:

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/nfs nfsroot=192.168.178.25:/share/MD0_DATA/PanelPI rw ip=dhcp rootwait elevator=deadline quiet splash plymouth.ignore-serial-consoles

Wirklich wichtig an dieser Datei ist es, dass alles in einer einzigen Zeile steht! Ich bin fast verzweifelt, weil es bei mir nicht funktionieren wollte, ich aber überall im Netz las, dass es „total einfach geht“.  ;-)

Das könnte dich auch interessieren …

Eine Antwort

  1. 16. April 2021

    […] hatte ja „neulich“ schon einen Artikel über das Netzwerkbooten eines Raspberry PIs geschrieben. Was diesem und allen anderen im Netz von […]

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert