RaspBerry Pi 3 B: Von USB booten

Hier gibt's Anleitungen und Themen dazu.
Antworten

Themenstarter
Outi
Administrator
Administrator
Beiträge: 171
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » 27.08.2016, 13:51

History:
28.03.2018 - V01.02 - Hinweis zur USB Bootfunktion des Pi 3B+ hinzugefügt
17.04.2017 - V01.01 - Anleitung auf neues Image angepasst (USB Boot Unterstützung ist jetzt integriert)
27.08.2016 - V01.00 - Erste Fertigstellung



Hinweis:
Diese Anleitung/Information erhebt keinen Anspruch auf Vollständigkeit und kann Fehler enthalten und die Benutzung erfolgt auf eigene Gefahr.
Es wird keinerlei Haftung für Schäden und/oder Datenverluste übernommen.

Info:
Raspberry Pi 3B+ und USB Boot:
Laut diversen Infos aus dem Internet ist eine Vorabkonfiguration für das Booten von USB beim neuen Raspberry Pi 3B+ nicht mehr erforderlich.
Es soll zwar nicht schaden, wenn man es trotzdem durchführt aber es wäre nicht mehr notwendig, da bereits von Werk aus erledigt.

Info:
Diese Anleitung setzt ein bootfähiges RASPBIAN auf SD Karte voraus (Lite Version ausreichend).
Diese bootfähige SD Karte wird nur einmalig für das dauerhafte Aktivieren der USB Bootfunktion des Pi3 benötigt, sofern es sich um einen neuen/unmodifizierten Raspberry Pi 3 handelt.
Pi3 die bereits früher schon einmal für USB Boot modifiziert wurden, können den Teil mit der SD Karte ignorieren.

Hintergrund:
Der Raspberry Pi3 ist der einzige Pi, der das Booten von USB und Netzwerk beherrscht. Um dies zu ermöglichen, muss auf dem Pi in einem Baustein (sogenannter SoC / System on Chip) ein Register umgeschrieben, somit also die hier beschriebene Bootfunktion aktiviert werden. Dies ist aber nur im Betrieb mit einem laufenden Raspbian möglich, weshalb eben die genannte SD Karte benötigt wird. Ist die Umstellung vollzogen, kann die SD Karte anderweitig verwendet werden und wird danach nicht mehr benötigt.


Um von einem USB Gerät booten zu können, muss eine SD Karte für die Umstellung des Pi3 auf USB Boot installiert werden.
Wie das funktioniert, steht in dieser Anleitung: Raspberry Pi installieren: RASPBIAN Jessie (+Lite)

Es ist völlig ausreichend, wenn das Lite Image hierfür genutzt wird und es können auch viele Konfigurationen und Umstellungen weggelassen werden, die nachher sowieso auf dem USB Stick endgültig durchgeführt werden sollen.
Wichtig ist nur, dass man den Anfang der anderen Anleitung soweit durchführt, dass man den Pi mit der SD Karte booten und sich per SSH oder Monitor und Tastatur einloggen kann. Für Ersteres muss nach wie vor auch wieder die leere SSH Datei angelegt werden, da sonst kein Zugriff per Putty möglich ist (siehe oben verlinkte Anleitung).

Parallel hierzu wird das endgültige Image (Pixel oder Lite) wie gehabt (und in der anderen Anleitung beschrieben) auf den später verwendeten USB Stick geflasht. Auch hier wird gleich die SSH Funktion aktiviert.

Nun wird die SD Karte aus dem Reader genommen und in den Pi gesteckt und der Pi gebootet.

Die USB-Boot-Funktion wird mit dem folgenden Befehl in der Datei config.txt aktiviert:

Code: Alles auswählen

echo program_usb_boot_mode=1 | sudo tee -a /boot/config.txt
Der Befehl setzt die gewünschte Erweiterung automatisch ans Ende der Datei /boot/config.txt.

Nun muss der Pi heruntergefahren werden (Achtung: kein Reboot !!):

Code: Alles auswählen

sudo shutdown now
Nach dem Herunterfahren wird der zuvor mit Raspbian geflashte USB Stick in den Pi eingesteckt und der Pi wieder gestartet.
Dies wäre zwar normalerweise nicht nötig, da aber nach der Umstellung die SD Karte nicht mehr startet (da ja von USB gebootet werden soll), bleibt der Pi beim Restart stehen (weil der USB Stick fehlt) und man müsste den Strom abziehen, was sehr häufig zu Datenverlusten auf der SD Karte führt. Diese sollten wir aber mindestens 1x noch starten, um die Umstellung zu aktivieren und zu überprüfen.

Nach dem Start muss geprüft werden, ob die Änderung Erfolg hatte.
Dafür ist folgender Befehl einzugeben:

Code: Alles auswählen

vcgencmd otp_dump | grep 17
Hier sollte als Ergebnis Folgendes ausgegeben werden:

Code: Alles auswählen

pi@raspberrypi:~ $ vcgencmd otp_dump | grep 17
17:3020000a
Weicht die ausgegebene Zahl in der zweiten Zeile von der hier angezeigten ab, ist was schief gelaufen oder es wurde etwas vergessen.

Passt die Zahl, wird der Pi wieder heruntergefahren:

Code: Alles auswählen

sudo shutdown now
Danach wird die Stromversorgung abgezogen und die SD Karte herausgezogen.
Wenn alles korrekt verlaufen ist, startet der Pi ohne SD Karte direkt vom USB Gerät nach dem erneuten Einstecken der Stromversorgung.

Nach erfolgreichem Login kann der Pi nun mit der ganz oben verlinkten Anleitung weiter konfiguriert werden.


Fortsetzungen, Korrekturen, Änderungen möglich ....

Copyright © 2018 by RasPiFun.de
;)Gruß Outi :D

Benutzeravatar

wominator
Mitglied
Mitglied
Beiträge: 1
Registriert: 29.09.2016, 01:37
Wohnort: Berlin
RasPis: 3

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von wominator » 29.09.2016, 01:53

Hallo in die Runde!

Ich besitze 1 x RPi2 (mit LibreELEC und Kodi) und 2 x RPi3 mit WD Pi-Drive (314 GB und passenden Gehäusen und Kabelsatz).

Ich konnte bisher keine Lösung im Netz finden und versuche daher mein Glück hier.

Auf einem von den RPi3 habe ich nach obiger Anleitung 2016-05-27-raspbian-jessie-lite und Nextcloud installiert, was auch alles bestens, inkl. LetsEncrypt usw., funktioniert. Auf dem zweiten RPi3 habe ich das gleiche Image drauf, nur bisher "leer", ohne Nextcloud o.ä. Nun standen heute Updates von raspberrypi-bootloader raspberrypi-kernel raspi-config welche ich auf dem zweiten RPi3 installiert habe. Ich konnte noch sehen, wie die Updates wohl alle "Hacks" rückgängig gemacht haben und natürlich bootet der RPi3 nicht mehr.
Daher habe ich, verständlicherweise, vom Update meines anderen RPi3 mit Nextcloud abgesehen.

Irgendeine Idee, wie man 2016-05-27-raspbian-jessie-lite nach Installation auf USB-HDD updaten kann, ohne dass die ganze Konfiguration zerschossen wird?

Für einen Tipp bin ich sehr dankbar!

Gruß aus Berlin
Wominator
If you make it idiot proof, someone will build a better idiot


Themenstarter
Outi
Administrator
Administrator
Beiträge: 171
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » 29.09.2016, 13:37

Hallo wominator,

herzlich willkommen im Forum.

Hast Du schon mal das aktuelle Image vom 2016-09-23 probiert oder meintest Du das Update darauf ??

Das von mir in der Anleitung geschilderte rpi-update sollte nur dem Zweck dienen, die USB-Boot-Fähigkeit zu implementieren.
Generell wird dieser Befehl aber nur für solche und andere Sachen empfohlen, wenn sonst etwas nicht läuft oder nicht unterstützt wird.
Daher ist es angeraten, diesen Befehl ganz am Anfang durchzuführen, bevor man mit der Konfiguration anfängt und dann nur noch bei den zuvor genannten Notwendigkeiten.

Mir ist auch schon aufgefallen, dass bei einem solchen Upgrade diverse Dateien ersetzt werden (wie auch z.B. die Datei CONFIG.TXT).
Daher kann ich im Moment nur raten, von den veränderten Dateien ein Backup durchzuführen.
Gerade die CONFIG.TXT wird oft erneuert, da meist neue oder andere Optionen hinzugefügt werden.

Hilfreich ist es auch, irgend eine etwas weniger wichtige SD Karte zu verwenden, die nur für die USB-Boot-Konfiguration verwendet wird, damit man im Notfall die Bootfähigkeit wieder herstellen kann.

Im Moment kann ich Dir auf die Schnelle nicht helfen und kann nur empfehlen mal zu schauen, ob Du nicht mit einer bootfähigen SD auf die Platte schaust und dort die Änderungen aus der Anleitung wieder herstellen oder nacharbeiten kannst.

Einen Tipp zum gefahrlosen Firmwareupdate habe ich leider (noch) nicht (außer Backup für den Notfall), da ich das Booten von USB aus Geschwindigkeitsgründen wieder verworfen habe. Ich hatte aber damals einen USB Stick für die Anleitung verwendet, evtl. ist das bei einer Festplatte ein wenig anders, wobei die Geschwindigkeitsbegrenzung beim USB Port liegt.

Ich werde bei Gelegenheit (hab grad viel um die Ohren) die Anleitung auch mal mit dem neuen Image der Foundation testen und Anpassungen vornehmen.

Nachtrag:
Evtl. mal ein Image machen, dann statt ein sudo rpi-update ein sudo apt-get dist-upgrade.
Hier wird nur die Distribution upgedated und nicht gleich die Firmware angepasst.
Wenn alles schief läuft, kannst Du das Backupimage wieder zurückspielen und ggf. auch so weiter arbeiten.
Never touch .... und so .... ;):D
;)Gruß Outi :D


Themenstarter
Outi
Administrator
Administrator
Beiträge: 171
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » 17.04.2017, 01:27

Eine neue Image Version von Raspbian mit Pixel und Raspbian Lite ist draußen:
2017-04-10:
  • ....
  • ....
  • Use PARTUUID to support USB boot
Interessant ist hier der Punkt, dass nun im Image der direkte USB Boot implementiert wurde, also das Image auf einen USB Stick gespielt werden kann.
Dies wird aber wohl nach wie vor dem Raspberry Pi 3 vorbehalten bleiben.

Sobald ich dieses Image getestet habe, wird diese Anleitung angepasst oder evtl. in die Hauptanleitung integriert.
;)Gruß Outi :D


Themenstarter
Outi
Administrator
Administrator
Beiträge: 171
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » 17.04.2017, 19:03

Anleitung ans neue Image angepasst.
;)Gruß Outi :D


Peter_S
Mitglied
Mitglied
Beiträge: 1
Registriert: 13.03.2018, 00:08
RasPis: 2

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Peter_S » 13.03.2018, 00:25

Ich habe da mal ne Frage ;-)
Wenn ich das richtig versteh soll ich nach dem Schreiben der Anweisung zum Setzen des Boot USB Flags an das ende der config.txt mit dem USB-Stift starten.
Zitat:
Nach dem Herunterfahren wird der zuvor mit Raspbian geflashte USB Stick in den Pi eingesteckt und der Pi wieder gestartet.
Dies wäre zwar normalerweise nicht nötig, da aber nach der Umstellung die SD Karte nicht mehr startet (da ja von USB gebootet werden soll), bleibt der Pi beim Restart stehen (weil der USB Stick fehlt)
Zitat Ende:

Anmerkung:
Erst muss die Anweisung ausgeführt und das Bit gesetzt sein, sonst wird das nix.
Dazu startest Du den Pi nochmal mit der SD-Karte, beim Boot wird die Anweisung ausgeführt, die das USB-Boot Flag im SoC permanent setzt.

Ich habe gelesen, dass mit gesetztem USB Flag lediglich die Suche nach startfähigen Bootlaufwerken auf USB ERWEITERT wurde.
Ergo:
Der Start von SD-Karte ist nach wie vor möglich.
Um von einem USB-Laufwerk zu staren macht dann entweder den Steckplatz leer,
belegt ihn mit einer leeren SD-Karte (wird die Suche schneller abgebrochen)
oder bootet im ersten Schritt von der SD-Karte eine Boot-Konfiguration, die dann das Root-System auf dem USB-Stift anspricht.


Themenstarter
Outi
Administrator
Administrator
Beiträge: 171
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » 13.03.2018, 13:59

Hallo Peter_S,

willkommen im Forum und Danke für die Info.

So, wie ich es noch in Erinnerung habe, ging es nicht anders, da die Registerumschreibung ja erst durch ein erneutes Booten von SD durchgeführt wird.
Du bootest also von der SD, machst die Änderung in der Config.txt und bootest erneut von der SD, um das Register beim Hochfahren von SD umzuschreiben. Dann entfernst Du nach dem Shutdown die SD und bootest von USB.

Ich muss mal schauen, ob ich das nicht ein wenig besser beschreiben kann.
;)Gruß Outi :D


Themenstarter
Outi
Administrator
Administrator
Beiträge: 171
Registriert: 13.02.2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » 28.03.2018, 02:17

Hinweis zur USB Bootfunktion des Pi 3B+ hinzugefügt.
;)Gruß Outi :D

Antworten