Raspberry Pi 3 Modell B für USB Boot vorbereiten

Raspberry Pi3 B+, Verpackung und Mobiltelefon

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+

Raspberry Pi3 B+, Verpackung und Mobiltelefon
Raspberry Pi3 B+ im Größenvergleich zum iPhone SE

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:

  1. SD-Karte
  2. USB-Medium
  3. 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:

Links

  1. Raspberry Pi Foundation: Ankündigung Raspberry Pi 3B+
  2. Raspberry Pi Foundation: Dokumentation Boot-Modi
  3. Raspbian Linux (Übersicht)
  4. Raspbian Linux Lite (Download)
  5. Etcher
  6. Raspberry Pi Headless Setup

Produkte*

Die folgenden Produkte wurden im Artikel besprochen bzw. verwendet:


13 Antworten zu “Raspberry Pi 3 Modell B für USB Boot vorbereiten”

  1. Ich betreibe mein Raspberry mit der SSD jetzt schon einige Monate. Wenn ich allerdings ein USB Hub mit Culs betreibe, weis mein Raspi nicht von welchem USB Anschluß gebootet werden kann. Ich ziehe dann erst den Hub raus und wenn der Raspi hochgefahren ist, stecke ich den Hub wieder in den Pi. Da muss es doch bestimmt ein Lösung für das Problem geben. Habe leider noch nichts gefunden. Kannst du mir vielleicht weiter helfen?

  2. Wenn ich recht informiert bin sind die vier USB-Ports eigentlich nur einer welcher über ein HUB gesplittet wird. Daher denke ich sollte eine unterscheidung diesbezüglich kaum machbar sein aber ich lasse mich gerne eines besseren belehren 😉

  3. Modell 3B+
    Nach mehreren Versuchen (mit verschiedenen USB Sticks) wie in Punkt 1 und 2 in der Zusammenfassung beschrieben, steh ich vor folgendes Problem: Bootet nach längerer Wartezeit (ca. 40 Sekunden, grüne Lampe blinkt derweil immer 3x) bis in die Console und das war es dann. Anmeldung mit pi usw. geht auch noch. Update und Upgrade nicht möglich, raspi-config kann ich starten und alle Eingaben für Land, Tastatur usw vornehmen. Die Einstellung booten mit Desktop kann ich zwar auswählen bringt aber nichts, soll lightdm installieren, lässt sich aber nicht installieren. Netzwerk mit Kabel ist ok, wird im Router erkannt und mit einer IP angezeigt. Stretch lite 13-11-2018.

  4. Habe die Umstellung auf USB Boot beendet, da es nicht klappt. Alle weiteren Versuche mit jeweils neuem USB Stick führten nur noch zu einem schwarzen Bildschirm nach dem die 4 Raspberrys links oben kurz auftauchten. Benutze jetzt wieder die SD-Karte ohne jegliche Probleme.

  5. Ich hätte noch eine Frage zum Rebooten von USB-Stick: wir haben eine funktionierende RPI3b+-Installation (Debian 10.8), die beim Einstecken des RPI nur von USB bootet.
    Wenn man aber von Linux aus einen reboot machen möchte, bleibt der RPI beim Booten hängen. Gibt es inzwischen dafür eine Lösung? Danke!

  6. Eine Frage. Wie kann ich mein pi3b Betriebssystem ohne ein PC installieren. Habe leider kein PC um es auf sd Karte zu bekommen.

  7. Hallo
    Kann man den pi 3B nach der Umstellung auf USB Boot dann auch mit einem frisch geflasht Image von USB starten. Hab es versucht ,aber er startet nicht vom USB?
    Mfg Andreas

  8. Hi, mit dieser Anleitung habe ich es wenigstens geschafft, das dietpi,(pi3+) von einer Festplatte bootet. Ich habe 2 Festplatten die in einer Icy-Box sind und per usb am raspi hängen. Habe ich nur eine integriert, kein Problem. Wenn ich die zweite Platte integriere, kommt die Meldung: „no route to host“. Wahrscheinlich weis er dann nicht mehr von wo gebootet werden soll?? Auch im dietpi support gab es keine Lösung. Z.B. von sd-Karte auf usb-platte funktionierte nichr. Gleiche Probleme wie viele andere hier. Vielleicht hat ja jemand eine Lösung.

Schreibe einen Kommentar

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