RaspBerry Pi 3 B: Von USB booten

Hier gibt's Anleitungen und Themen dazu.
Antworten

Themenstarter
Outi
Administrator
Administrator
Beiträge: 122
Registriert: Fr 13. Feb 2015, 22:24
RasPis: 10+
Kontaktdaten:

RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » Sa 27. Aug 2016, 13:51

History:
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:
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 © 2017 by RasPiFun.de
;) Gruß Outi :D

Benutzeravatar

wominator
Mitglied
Mitglied
Beiträge: 1
Registriert: Do 29. Sep 2016, 01:37
Wohnort: Berlin
RasPis: 3

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von wominator » Do 29. Sep 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: 122
Registriert: Fr 13. Feb 2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » Do 29. Sep 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: 122
Registriert: Fr 13. Feb 2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » Mo 17. Apr 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: 122
Registriert: Fr 13. Feb 2015, 22:24
RasPis: 10+
Kontaktdaten:

Re: RaspBerry Pi 3 B: Von USB booten

Beitrag von Outi » Mo 17. Apr 2017, 19:03

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

Antworten