Seit dem 14. März 2018 ist mit dem Raspberry Pi 3 Modell B+ eine leicht überarbeite Version des Raspberry Pi 3B verfügbar. Bereits einen Tag vorher wurde eine aktuelle Version des auf Debian basierenden Raspbian Linux bereitgestellt, welches die neuen Funktionen des Modells B+ unterstützt. Für mich Grund genug ein Exemplar zu kaufen und das Booten von USB zu verproben – und endlich auch zu dokumentieren …
Raspberry Pi 3B+

Beim neuen Modell 3B+ wurde im Wesentlichen Modellpflege betrieben, in der Automobilindustrie wäre vermutlich die Rede von einem Facelift
:
- die CPU Geschwindigkeit wurde von 1,2GHz auf 1,4GHz erhöht
- die Anbindung des LAN-Ports erlaubt jetzt bis zu 300MBit/s
- WLAN funkt jetzt nach 802.11ac auch im 5GHz Band
- Bluetooth 4.2 wird jetzt unterstützt
Weitere Details lassen sich der entsprechenden Ankündigung der Raspberry Pi Foundation entnehmen.
Booten von USB
Auch der 3B+ kann ab Werk nicht von USB-Medien booten. Doch analog zum Modell 3B (ohne Plus) kann dies mit wenigen Handgriffen geändert werden. Im Gegenteil, die für den 3B+ notwendige aktuelle Raspbian-Version macht den Vorgang sogar noch einfacher.
An dieser Stelle irrt der Autor, das 3B+ Modell des Raspberry Pi kann offenbar ohne Vorbereitung direkt von USB (und sicherlich auch via Netzwerk) booten. Die unten beschriebene Vorbereitung ist also für das Plus
-Modell nicht notwendig, sondern nur für das Modell 3. Allerdings wird auch kein Schaden angerichtet, falls das Vorgehen für den 3B+ angewendet wird.
Für die Durchführung sind ein aktuelles Raspbian Linux, Etcher, ein guter USB-Stick (ab 16GB) und temporär eine Micro-SD-Karte (4GB) notwendig. Ich habe Produkte von SanDisk eingesetzt, welche noch in diversen Schubladen zu finden waren. Da der RPi 3B+ etwas stromhungriger ist, sollte außerdem auf ein gutes Netzteil (5,1V, 2,5A) geachtet werden.
Vorbereitung
Zunächst sind die aktuelle Raspbian (Lite)-Version und Etcher (Portable) herunterzuladen. Anschliessend sind die SD-Karte und der USB-Stick mit dem PC zu verbinden und Etcher zu starten. Evtl. Inhalte auf Stick und Karte müssen gesichert werden, denn ihr Inhalt geht durch das Flashen unwiderruflich verloren!
In Etcher wählt man folgendes Vorgehen:
- Über
Select Image
wählt man das heruntergeladene Raspbian-Abbild aus, z.B. 2018-03-13-raspbian-stretch-lite.zip. Das Archiv kann von Etcher direkt verarbeitet werden und muss nicht entpackt werden. - Mittels
Select Drive
wählt man das zu beschreibende Medium aus. Für diesen Artikel wurde mit dem USB-Stick begonnen, aber die Reihenfolge ist letztendlich egal. - Durch die Option
Flash
startet der Schreibvorgang, der je nach Rechnerleistung, Mediengröße und Lesegerät einige Sekunden bis Minuten dauert. - Nach erfolgreicher Durchführung wählt man die Option
Flash Another
und beginnt mit der Vorbereitung des verbleibenden Speichermediums. In meinem Beispiel ist das die SD-Karte, welche in einem Lexar Lesegerät steckt. - Wieder startet ein Klick auf
Flash
den eigentlichen Schreibvorgang. Nach Abschluss kann Etcher beendet werden.
Die Etcher-Dialog-Folge anbei nochmal in Bildern. Wie gesagt: Die Reihenfolge zwischen SD-Karte und USB-Stick ist unbedeutend, solange beide Medien mit dem selben Raspbian-Abbild beschrieben werden.
Wer den Raspberry „headless“ betreiben möchte, d.h. ohne Monitor und Tastatur, der kann jetzt auf dem USB-Stick noch die entsprechenden Vorbereitungen treffen, analog zu diesem Artikel. Andernfalls ist der Stick damit vorbereitet, er kann ausgeworfen, abgezogen und zur Seite gelegt werden.
Konfiguration
Der Inhalt der SD-Karte muss noch geändert werden, sie verbleibt zunächst im Lesegerät. Je nach Betriebssystem ist es evtl. notwendig die Karte zunächst zu entnehmen und dann wieder einzustecken, damit die Änderungen erkannt werden.
Auf der SD-Karte befindet sich nach dem Beschreiben eine Partition im DOS-Format (boot
) und auf dieser wiederrum die Datei config.txt. In dieser Datei ist eine Zeile hinzuzufügen, wobei auf die Beibehaltung der Zeilenenden geachtet werden muss. Unter Windows ist daher Wordpad zu verwenden und nicht der Editor (Notepad).
Ans Ende der Datei fügen wir die Zeile program_usb_boot_mode=1 an, so dass (Stand 19.03.2018) die letzten 3 Zeilen von config.txt wie folgt aussehen:
# Enable audio (loads snd_bcm2835) dtparam=audio=on program_usb_boot_mode=1
Durch die neue Zeile werden beim nächsten Start des Raspberry Pi 3 (B/B+) unwiderruflich die USB- und Netzwerk- (PXE) Boot-Option aktiviert. Der Prozess ist nicht umkehrbar, da die Änderung im OTP-Speicher des RPi eingetragen wird. Details sind der Dokumentation zu entnehmen. Der Einsatz von SD-Karten ist allerdings unverändert möglich, die neue Boot-Reihenfolge lautet nun:
- SD-Karte
- USB-Medium
- Netzwerk-Boot (PXE)
Aktivierung
Jetzt ist auch die SD-Karte fertig vorbereitet und kann ausgeworfen bzw. entnommen werden. Anschließend ist sie in den Raspberry einzustecken und dieser mit Strom zu versorgen. Der Startvorgang und die Aktivierung des USB-Boots läuft ohne manuellen Eingriff ab. Ein eindeutiges Zeichen für einen abgeschlossenen Boot-Vorgang gibt es leider nicht, bei meinem 3B blinkt die grüne LED jede Sekunde, beim 3B+ blitzt
sie. Es ist wichtig, dass die rote LED dauerhaft leuchtet, andernfalls ist die Stromversorgung zu schwach.
Gebt dem Raspi
einfach 1-2 Minuten, bevor er wieder vom Strom getrennt wird. Eventuellen Datenverlust der SD-Karte nehmen wir hin, denn sie wird nicht mehr benötigt.
Nun wird der USB-Stick in einen beliebigen Port des Raspberrys gesteckt und wieder mit Strom versorgt. Der Start sollte jetzt von USB erfolgen, wobei auch hier beim ersten Start zunächst das Filesystem auf die volle Partitionsgröße erweitert und dann automatisch neu gestartet wird.
Somit wurde der Raspberry Pi 3 auf USB-Boot umgestellt und kann nun dauerhaft ohne SD-Karte betrieben werden.
tl;dr;
Hier nochmal die Zusammenfassung:
- Für das Modell 3B+
- aktuelles Raspbian Lite via Etcher auf USB-Stick flashen
- USB-Stick einstecken und Raspberry Pi 3 starten und konfigurieren
- Für das Modell 3B:
- aktuelles Raspbian Lite via Etcher auf SD-Karte und USB-Stick flashen
- Zeile program_usb_boot_mode=1 an Datei config.txt auf SD-Karte anfügen
- SD-Karte in Raspberry Pi 3 einstecken, starten und wieder runterfahren
- SD-Karte entfernen, USB-Stick einstecken und Raspberry Pi 3 starten und konfigurieren
Links
- Raspberry Pi Foundation: Ankündigung Raspberry Pi 3B+
- Raspberry Pi Foundation: Dokumentation Boot-Modi
- Raspbian Linux (Übersicht)
- Raspbian Linux Lite (Download)
- Etcher
- Raspberry Pi Headless Setup
Produkte*
Die folgenden Produkte wurden im Artikel besprochen bzw. verwendet:
Schreibe einen Kommentar