PiServer – Raspberry Pi ohne SD-Karte über das Netzwerk starten

Raspberry Pi Netzwerkboot mit PiServer

Ein Raspberry Pi ganz ohne SD-Karte betreiben – das klingt komfortabler als es auf den ersten Blick scheint. Keine Karte, die nach Jahren des Dauerbetriebs ihren Geist aufgibt, kein Rumhantieren mit dem Imager bei jedem Update. In diesem Artikel zeige ich euch die modernen Moeglichkeiten: von der einfachen USB-SSD bis zum echten PXE-Netzwerk-Boot.

Wichtiger Hinweis vorab: Der frueheren PiServer-Loesung (aus dem Artikel von 2018) werden wir hier nicht mehr folgen. PiServer wird nicht mehr aktiv entwickelt, unterstuetzt Raspberry Pi OS Bookworm nicht und laeuft nur auf x86-Systemen. Es gibt heute deutlich bessere Alternativen.

Wann macht Booten ohne SD-Karte Sinn?

  • Langzeitbetrieb: SD-Karten verschleissen, SSDs sind langlebiger und schneller
  • Performance: USB-SSD oder NVMe ist um ein Vielfaches schneller als eine SD-Karte
  • Mehrere Pis zentral verwalten: Ein NFS-Root-Server liefert das Betriebssystem an viele Pis gleichzeitig
  • Flexible Testumgebungen: Verschiedene Images ohne Umflashen bereitstellen

Methode 1 (empfohlen): USB-SSD direkt bespielen

Fuer die meisten Anwendungsfaelle ist das die beste Loesung: Eine USB-SSD (oder beim Pi 5 mit dem M.2 HAT+ sogar NVMe) direkt mit dem Raspberry Pi Imager bespielen und dann davon booten.

Vorteil: Kein Netzwerk noetig, kein Server-Setup, funktioniert sofort. Der Pi 4 und Pi 5 koennen direkt von USB booten – ohne SD-Karte.

Was ihr braucht

Vorgehen

  1. Oeffnet den Raspberry Pi Imager und waehlt euer gewuenschtes OS
  2. Als Speichermedium waehlt ihr die USB-SSD (nicht die SD-Karte!)
  3. Konfiguriert vorab Hostname, SSH, WLAN und Benutzer ueber die Einstellungen (Zahnrad-Icon)
  4. Schreibt das Image auf die SSD

Danach muessen wir noch sicherstellen, dass der Pi von USB bootet.

Boot-Reihenfolge mit rpi-eeprom-config anpassen (Pi 4/5)

Beim Raspberry Pi 4 und 5 steuert das EEPROM die Boot-Reihenfolge. Startet einmal kurz mit einer SD-Karte und prueft die aktuelle Konfiguration:

Ihr seht dort u.a. die BOOT_ORDER. Eine gute Einstellung fuer „erst SD, dann USB“ ist:

Setzt den Wert auf:

Das bedeutet: Zuerst SD-Karte (4), dann USB (1), dann Neustart (f). Speichert und rebooted – beim naechsten Start ohne SD-Karte bootet der Pi automatisch von der USB-SSD.

Wer auch Netzwerk-Boot als Fallback haben moechte:

Das ist: SD (4) → USB (1) → Netzwerk/PXE (2) → Neustart (f).

Methode 2: Echter PXE-Netzwerk-Boot

PXE-Boot (Preboot Execution Environment) ist die technisch aufwendigere Loesung, aber ideal wenn ihr viele Pis zentral verwalten wollt. Der Pi laedt dabei sein Betriebssystem komplett ueber das Netzwerk von einem Server.

Wichtig: PXE-Boot funktioniert nur per Kabel-Netzwerk, nicht ueber WLAN.

Pi 4/5 fuer PXE-Boot konfigurieren

Zuerst aktivieren wir den Netzwerk-Boot im EEPROM. Bootet einmal mit SD-Karte und setzt die Boot-Reihenfolge:

Speichert, rebooted. Ab jetzt probiert der Pi nach SD und USB auch den Netzwerk-Boot.

PXE-Server einrichten mit dnsmasq und NFS

Als Server eignet sich ein anderer Raspberry Pi 4/5, ein Ubuntu- oder Debian-Server. Wir brauchen dnsmasq als TFTP-Server und NFS fuer das Root-Filesystem.

Pakete installieren:

TFTP-Verzeichnis anlegen und konfigurieren:

dnsmasq konfigurieren (neue Datei anlegen):

Ersetzt 192.168.1.255 durch die Broadcast-Adresse eures Netzwerks.

dnsmasq neu starten:

Boot-Dateien bereitlegen:

Die Boot-Dateien fuer den Client-Pi muessen im TFTP-Verzeichnis liegen. Ihr koennt sie von einer laufenden Raspberry Pi OS Installation kopieren (aus dem /boot/firmware/-Verzeichnis) oder direkt vom Raspberry Pi Imager-Image extrahieren.

NFS-Root einrichten:

Dann den NFS-Export konfigurieren:

cmdline.txt auf dem TFTP-Server anpassen:

Ersetzt den Root-Eintrag durch:

Dabei ist 192.168.1.100 die IP-Adresse eures PXE-Servers.

netboot.xyz als fertige PXE-Loesung

Wer einen komfortableren Einstieg sucht: netboot.xyz ist eine vorgefertigte PXE-Boot-Loesung, die eine Art Bootmenue ueber das Netzwerk bereitstellt. Von dort koennt ihr direkt verschiedene Betriebssysteme starten – Raspberry Pi OS, Ubuntu, Debian und viele mehr. Ideal fuer Testumgebungen.

Hinweis zu PiServer (veraltet)

Der PiServer aus dem Originalartikel (2018) war ein GUI-Tool der Raspberry Pi Foundation, das auf Raspberry Pi Desktop (x86) lief und automatisch einen DHCP/TFTP/NFS-Stack eingerichtet hat. Leider wird PiServer nicht mehr aktiv entwickelt, ist mit Raspberry Pi OS Bookworm nicht kompatibel und erfordert ein x86-System. Verwendet stattdessen eine der oben beschriebenen Methoden.

Tipps und Haeufige Probleme

Problem Loesung
Pi bootet nicht von USB-SSD EEPROM BOOT_ORDER pruefen, USB-Gehaeuse muss UASP unterstuetzen
PXE-Boot schlaegt fehl Kabel-Netzwerk pruefen, dnsmasq-Logs ansehen mit journalctl -u dnsmasq
Sehr langsames Booten per NFS NFSv4 verwenden (vers=4.1), Gigabit-Netzwerk empfohlen
Dateisystem nach Absturz korrupt ext4 auf dem NFS-Server oder overlayfs als Read-Only-Root verwenden

Ähnliche Beiträge