So installiert sich der Raspberry Pi per Netzwerk-Installation selbst

Als Video ansehen
Bereitgestellt über YouTube

So installiert sich der Raspberry Pi per Netzwerk-Installation selbst

Der offizielle Raspberry Pi Imager sieht einen weiteren Computer vor, um ein Betriebssystem auf die Speicherkarte des Raspberry Pi zu übertragen. Möchtest du dir das Hin- und Her sparen und stattdessen Raspberry Pi OS & co. direkt am Raspberry Pi installieren? Das ermöglicht die neue Netzwerk-Installation, welche nach der Beta-Phase mittlerweile in der stabilen Firmware enthalten ist. Wie sie funktioniert sowie aktiviert werden kann, erfährst du hier.

Die Netzwerk-Installation: Zurück in die Zukunft

2022 wurde die Netzwerk-Installation als Beta-Funktion vorgestellt. Dabei handelt es sich um ein spezielles Abbild, welches aus dem Internet geladen wird und direkt in den Raspberry Pi Imager startet – ohne Betriebssystem dazwischen, wie es ansonsten an PCs der Fall gewesen wäre. Diese Version des Imagers bietet die vom Desktop vertraute Oberfläche inklusive identischer Funktionalität, ist allerdings darauf ausgelegt, das gewünschte Abbild direkt auf die im Raspberry Pi eingebaute Speicherkarte zu schreiben. Der Zwischenschritt über einen zweiten PC, welcher die Karte beim Desktop-Imager befüllt, entfällt damit.

Grundsätzlich ist das in der Geschichte des Raspberry Pi nicht neu, im Gegenteil: 2013 wurde „NOOBS“ (New out of the Box Experience) als offizielles Werkzeug vorgestellt. Damit konnte der Raspberry Pi ebenfalls eigenständig ohne weitere Geräte installiert werden. Zusätzlich enthielt es weitere Funktionen wie einen Bootloader zum Start mehrerer Betriebssysteme oder ein minimales Wiederherstellungssystem, das bei der Fehleranalyse unterstützt. Anfang 2023 wurde NOOBS jedoch eingestellt. Da es sich um quelloffene Software handelt, entwickelt die OSS-Community das Projekt unter dem Name PINN weiter. Einen offiziellen Nachfolger gibt es nicht, wahrscheinlich soll die Netzwerk-Installation diese Lücke füllen.1

Wichtig zu wissen: Die Netzwerk-Installation liefert das, was der Name verspricht – nicht mehr oder weniger. Ihr könnt damit also ein Betriebssystem direkt auf dem Raspberry Pi installieren. Weitere Funktionen aus NOOBS, wie etwa Multi-Boot oder Werkzeuge zur Fehleranalyse, fehlen hierbei. Wer sie benötigt, sollte sich PINN anschauen.

Grundvoraussetzungen für die Netzwerk-Installation

Zum Start des Raspberry Pi 5 war die Netzwerk-Installation lediglich für den Vorgänger verfügbar. Das hat sich mit der Firmware 2024-01-15 geändert.2 In vielen Fällen wird dafür ein Update nötig sein. Unabhängig vom verwendeten Pi wird nach wie vor kein WLAN unterstützt. Eine Internetanbindung ist jedoch zwingend erforderlich, weil sowohl das startbare Abbild, als auch das ausgewählte Betriebssystemabbild aus dem Internet geladen werden müssen. Für wen Ethernet-Kabel nicht in Frage kommen, ist mit PINN (NOOBS-Nachfolger) besser beraten.

Die Funktion ist Teil der Firmware: Erstmals in 2022-02-04 Beta enthalten3 und wurde mit 2022-04-27 Teil der stabilen Veröffentlichung. Prüfe zunächst, ob deine Firmware aktuell genug ist. Bei neueren Modellen erscheint die Version kurzzeitig beim Start.

Am sinnvollsten ist die Verwendung des rpi-eeprom-update Werkzeugs aus einem laufenden Raspberry Pi OS heraus. Im Detail ist die Vorgehensweise hier bereits beschrieben, im Folgenden zusammengefasst das in diesem Kontext relevante.

$ sudo rpi-eeprom-update<br>BOOTLOADER: up to date<br>   CURRENT: Wed 11 Jan 17:40:52 UTC 2023 (1673458852)<br>    LATEST: Wed 11 Jan 17:40:52 UTC 2023 (1673458852)<br>   RELEASE: default (/lib/firmware/raspberrypi/bootloader-2711/default)<br>            Use raspi-config to change the release.<br><br>  VL805_FW: Dedicated VL805 EEPROM<br>     VL805: up to date<br>   CURRENT: 000138c0<br>    LATEST: 000138c0

Hier sind wir bereits auf einer aktuelleren Firmware vom Januar 2023. Falls die installierte Version älter 2022-04-27 ist, muss ggf. der Kanal angepasst werden. Er ist bei RELEASE aufgelistet und steht in der Datei /etc/default/rpi-eeprom-update:

$ cat /etc/default/rpi-eeprom-update <br>FIRMWARE_RELEASE_STATUS="default"

Mit default bleibt ihr bei der ab Werk vorinstallierten Version, erhaltet also nie Aktualisierungen. Daher wird oben kein Update angezeigt. Um die aktuellste stabile Version zu erhalten, muss FIRMWARE_RELEASE_STATUS auf stable gesetzt werden. Das geht am einfachsten über sudo raspi-config in 6 Advanced Options > A5 Bootloader Version:

Nach einem Neustart müssen die Paketquellen aktualisiert und alle verfügbaren Updates eingespielt werden, da neue Firmware-Versionen über das APT-Paket rpi-eeprom verteilt werden.

sudo apt update<br>sudo apt upgrade

Führt ihr rpi-eeprom-update erneut aus, werden diese Aktualisierungen angezeigt.

Mit folgendem Befehl installiert ihr die aktuellste stabile Version, oben als LATEST bezeichnet. Anschließend wird ein Neustart fällig, um die neue Firmware in den integrierten EEPROM zu schreiben.

sudo rpi-eeprom-update -a

Alternativ per Imager von außen

Alternativ findet ihr im Imager die Kategorie Misc utility images mit Abbildern des jeweils derzeit stabilsten Bootloaders. Wird der Pi davon gestartet, schreibt er den Bootloader in den internen Speicher (EEPROM). Danach blinkt die grüne LED und ein angeschlossener Bildschirm leuchtet grün. Erst jetzt darf neu gestartet werden.

Anpassen der Startreihenfolge

Die Netzwerk-Installation wird als Booten von HTTP betrachtet, weil der Raspberry Pi technisch ein kleines Abbild mit der direkt startbaren Edition des Imagers lädt.4 Für die Startreihenfolge in BOOT_ORDERS ist dafür 0x7 vorgesehen.5 Ist dies nicht in der Startreihenfolge gesetzt, wird die Netzwerk-Installation nie gestartet. Daher müsst ihr zunächst die Konfiguration der Firmware anpassen:

sudo rpi-eeprom-config --edit

Dort ist standardmäßig BOOT_ORDER=0xf41 gesetzt. Wichtig: Die Variable wird von rechts nach links gelesen! Hierbei versucht der Pi zuerst von SD-Karte (1), alternativ USB-Speichermedien (4) zu starten. Schlägt beides fehl, wiederholt er dies in einer Endlosschleife (f), bis eines davon möglich ist. Dadurch lässt sich beispielsweise eine vergessene Speicherkarte während des Startens anschließen. Dort müsst ihr die Netzwerk-Installation (HTTP-Boot) einbauen, also „7“, etwa so:

BOOT_ORDER=0xf741

Damit versucht der Pi weiterhin die Karte, USB-Speicher und erst wenn beides nicht funktioniert, wird die Netzwerk-Installation geladen. Das verhindert, dass nach der Installation eines Betriebssystems stattdessen die Netzwerk-Installation erneut gestartet wird.

Ansonsten darf NET_INSTALL_ENABLED nicht auf 0 (deaktiviert) gesetzt sein. Standardmäßig ist es aktiviert, sodass sie nur dann auf 1 gesetzt oder entfernt werden muss, falls du sie angepasst hast.6

Beachte: Nach den Änderungen solltest du den Raspberry Pi einmal neu starten, bevor du versuchst, in die Netzwerk-Installation zu starten! Beim Neustart werden die Änderungen in die Firmware geschrieben. Sie befindet sich nicht auf der Speicherkarte, sondern auf einem festen Speicher des Raspberry Pi. Daher werden diese erst nach dem Neustart wirksam.

Los geht es

Starte nun den Raspberry Pi ohne Speicherkarte oder bootbare USB-Speichergeräte, dann öffnet sich der Imager per Netzwerk-Installation. Sie entspricht dem vom Desktop-PC gewohnten Raspberry Pi Imager in Vollbild: Links das Raspberry Pi Modell auswählen, in der Mitte das gewünschte Betriebssystem und rechts einen Zieldatenträger. Die Vorkonfiguration ist ebenfalls möglich – andernfalls erscheint beim ersten Start ein Einrichtungsassistent.

Quellen

  1. https://www.raspberrypi.com/documentation/computers/getting-started.html#install-over-the-network ↩︎
  2. https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware-2712/release-notes.md ↩︎
  3. https://github.com/raspberrypi/rpi-eeprom/blob/master/firmware-2711/release-notes.md#2022-02-04—network-install—beta ↩︎
  4. https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#http-boot ↩︎
  5. https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#boot_order-fields ↩︎
  6. https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#NET_INSTALL_ENABLED ↩︎

Leave a Reply