Der Raspberry Pi braucht für gewöhnlich eine Micro SD-Karte, auf der sich das Betriebssystem befindet. Der Nachteil besteht zum einen darin, dass SD-Karten schneller kaputtgehen und zum anderen, dass sie normalerweise weniger Speicherplatz haben als eine Festplatte. In diesem Tutorial schauen wir uns daher den Raspberry Pi USB Boot einmal genauer an.
Seit dem Raspberry Pi 4 ist es noch einfacher als zuvor möglich die SD-Karte obsolet zu machen. Alles was wir dafür brauchen ist ein USB-Stick oder eine (externe) Festplatte.
Zubehör
- Raspberry Pi 4
- 2-5 Externe Festplatte / SSD (alternativ: großer USB-Stick)
- 5V Netzteil mit mindestens 3A
Natürlich könnten wir auch weiterhin eine SD-Karte und ein externes Gerät nutzen, aber in vielen Fällen brauchen wir ein größeres Root-Verzeichnis. Daher macht eine ausreichend große Festplatte in jedem Fall Sinn – ganz abgesehen von den Ausfallraten der SD-Karten.
In meinem ersten Test hatte mein Netzteil zu wenig Power, weshalb der Pi nicht richtig booten konnte. Ein stärkeres Netzteil hat dann geholfen.
Methode 1: Bestehendes Raspberry Pi OS updaten und auf SSD übertragen
Falls du bereits dein Betriebssystem eingerichtet hast und nun es komplett übertragen willst, gibt es hierfür eine einfache Möglichkeit. Dafür müssen wir aber zunächst den die Paketquellen und den Kernel updaten:
sudo apt-get update sudo apt-get full-upgrade sudo rpi-update sudo rpi-eeprom-update
Anschließend schließen wir den USB-Stick bzw. die Festplatte an den Raspberry an (vorher führen wir ggf. ein Backup durch). Beim Flashen werden alle Daten überschrieben, daher ist eine Datensicherung wichtig! Ich habe dazu das USB Image Tool (für Windows) genutzt, welches ein komplettes Backup als .img Datei erstellt. Der einzige Nachteil ist, dass die Image-Datei so groß wie das komplette Volumen ist und nicht nur so groß wie die Summe aller Dateien. Anschließend kann man das Backup ebenfalls wieder auf den Stick schreiben.
Das Tool Win32DiskImager hat eine ähnliche Funktion
Bevor wir das Betriebssystem übertragen, schauen wir und die Datei unter /boot/cmdline.txt
an.
cat /boot/cmdline.txt
Diese sollte so in der Art aussehen (wichtig ist, dass kein absoluter Pfad vorhanden ist).
console=serial0,115200 console=tty1 root=PARTUUID=c29633fc-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
Auf dem Raspberry Pi klicken wir nun das Startmenü > „Accessories“ (bzw. Zubehör) und wählen den „SD Card Copier„. Hier wählen wir unsere Root Partition sowie die Festplatte, auf die das Image übertragen werden soll.
Nachdem alles erfolgreich übertragen wurde, können wir den Pi herunterfahren und die SD-Karte entfernen.
Methode 2: Frisches Raspberry Pi OS flashen und USB Boot aktivieren
Eine weitere Methode ist, dass wir uns ein aktuelles Image des Raspberry Pi OS (ehemals Raspbian OS genannt) herunterladen. Hier sind keine Updates mehr nötig.
Führe ggf. zuerst ein Backup deiner Festplatte / USB-Sticks durch, da bei dieser Methode auch alle Daten überschrieben werden.
Anschließend brauchen wir Balena Etcher. Hiermit können wir das Raspberry Pi OS Image auf den USB-Stick bzw. die Festplatte schreiben. Der Vorgang ist hier genauer beschrieben. Du kannst SSH sowie die Wi-Fi-Verbindung bereits vorkonfigurieren.
Auch hier solltest du die cmdline.txt prüfen (siehe oben).
Bevor wir starten, entfernen wir die SD-Karte aus dem Raspberry Pi (sofern noch vorhanden) und verbinden die SSD/USB-Stick. Das Hochfahren dauert ein wenig, doch dann sollte der Raspberry Pi normal gestartet worden sein.
Fazit zum USB Boot auf dem Raspberry Pi:
Die Möglichkeit endlich auch permanente Festplatten als Systemspeicher zu nutzen gefällt mir prinzipiell sehr. Gerade im Dauerbetrieb (OpenHAB lässt grüßen) gehen SD-Karten nach nicht allzu langer Zeit kaputt. Sofern man nicht regelmäßig alle wichtigen Dateien gesichert hat, ist das ein Super-GAU. In solchen Projekten werde ich in Zukunft sicherlich eine Festplatte statt einer SD-Karte nutzen (auch keine SSD), da Flashspeicher in meinen Augen zu anfällig ist.
Nichtsdestotrotz muss genau geschaut werden, welche Festplatte welche Leistung bringt, denn einen zu großen Geschwindigkeitsverlust durch USB möchte man auch nicht. Auch wenn die USB3.0 Schnittstelle zumindest höhere Datenübertragungsraten zulässt.
PS: Erfahrungswerte dürfen gerne als Kommentar gepostet werden!
20 Kommentare
Das ist nicht neu und auch ein Raspi 4 ist nicht nötig. Ich betreibe den Raspi 3 seit einigen Jahren an einer kleinen SSD. Auch kann man die Schreibvorgänge für die SD – Karte unterbinden.
Das Problem der fehlenden Möglichkeit zum Booten über USB betrifft auch nur den
RPi4B
Hallo Aro, bitte poste doch deine aktuelle Konstellation zum einrichten,
vielen Dank
Mexico67
Hallo,
Ich habe dieses englische Bericht gefunden.
https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md
Aber die Artikle schien ganz gut für ein RPi 4
Die 3er Pis booten schon länger von USB, kein Problem.
Der Pi 4 bootet seit dem Update 20.08.2020 auch von USB.
Pis mit älterer Firmware brauchen:
sudo rpi-eeprom-update
Das geht erstmal von der SD Card.
Danach braucht man keine SD Card mehr.
Ein neues System kann man direkt auf eine SSD/HD spielen.
Hallo,
der Beitrag isz sehr interessant. Es fehlt aber der Hinweis, dass bei älteren RPIs eine Firmware update durchgeführt werden muss und wie das genau geht. Denn wenn dabei etwas schief läuft, war das für den RPI.
Ich hoffe dass der Beitrag dazu noch ergänzt !!!
22.12.2020
Rpi 4 8GB
Ich habe Methode 1 genau nach Anleitung gemacht, aber es booted von mein USB HDD nicht. Nach entfernung der SD , und restart blinkt nur die RPi gelbe Lampe.
Kann einer mir ein Tipp geben, bitte.
mei mir geht es auch nicht – booten von SD kein Problem, aber von SSD bleibt das System jedesmal woanders hängen – wer kann einem Linux-Nobody helfen??
Nachtrag für alle Leidensgenossen:
Jetzt habe ich es hinbekommen, und zwar nach dieser Anleitung:
https://electrodrome.net/raspberry-pi-4-micro-sd-karte-usb-boot-fuer-ssd-laufwerke-einrichten-1-0/
Ich habe – obwohl Sabrent Adapter USB-SSD – trotzdem die „Quirks“-Option gezogen wie beschrieben – vorher hat es ohne nicht funktioniert, aber da hatte ich auch noch einige andere Sachen etwas anders gemacht als in der Beschreibung…
Aber so geht es (nur dann muss die SD-Karte zum BOOTEN drin bleiben), aber Raspian (Release Januar 2021 mit Desktop) läuft auf der SSD jetzt top!!
Bist du Dir sicher dass du von SSD bootest. Bei allen meinen PRi 4 muss die _SD-Karte raus. Beim Booten von HD/SSD steht auch klar; Keine SD Karte gefunden
Hallo Zusammen,
wie schon gesagt wurde kann die RPI 4 von Haus aus schon von SSD Booten.
Wichtig ist die Bootloader- Version auf der RPI ab „Version Sep 03 2020“ funktioniert es ohne Probleme.
Nach dem Bootloader-Update bin ich nach Methode 2 vorgegangen.
Als Image habe ich die Raspberry Pi OS with desktop benutzt.
cmdline.txt usw. habe ich beachtet.
Nach dem Systemstart wurde Wifi mit dem Assistent eingerichtet und SSH konnte ich unter „Einstellungen/Raspberry-PI-Konfiguration aktivieren.
Bei mir war der Kaufzustand „Bootloader- Version Mar 19 2020“.
Da ich noch kein OS installiert hatte, bin ich nach dieser Anleitung mit dem Raspberry Pi Imager
https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md vorgegangen.
Wenn ihr ein Monitor angeschlossen habt, bekommt ihr bei erfolgreichem update ein grünen Bildschirm, bei fehlerhaften einen roten Bildschirm.
Danach braucht ihr keine SD Karte in der RPI 4
Siehe dazu die ReadMe Datei:
„… If successful, the green LED light will blink rapidly (forever), otherwise
an error pattern will be displayed.
If a HDMI display is attached then screen will display green for success
or red if failure a failure occurs.
N.B. This image is not a bootloader it simply replaces the on-board bootloader.
eine SD Karte…“
ist ja alles super erklärt und ich habs auch schön so gemacht, trotzdem funktionierts nicht. Irgendwas muss ich übersehen haben, das ist der Startbildschirm:
Raspberry Pi 4 – 8GB
bootloader: c305221a Sep 3 2020
config: 86697050
board: d03114 1496500e dc:a6:32:d6:7b:15
boot: mode sd 0 order 1 retry 3/3 restart 0/-1
SD: card not dedected
part: 0 mbr [0x00:00000000 0x00:00000000 0x00:00000000 0x00:00000000
updates: enabled 0
fw:
net: down ip: 0.0.0.0 sn: 0.0.0.0 gw: 0.0.0.0
tftp: 0.0.0.0 00:00:00:00:00:00
dann kommen nur ein paar Zeilen
Failed to open device: ’sdcard‘
W A R U M ??????
ich hab noch einen pi 400, Festplatte angesteckt, sd Karte raus und der ist sofort gelaufen.
Hallo
Gemäss Anleitung darf in /boot/cmdline.txt kein absoluter Pfad vorhanden sein.
Bei meinem Pi4 steht in dieser Datei:
console=tty1 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
Was muss ich ändern?
Danke für Hinweise
root=PARTUUID=c29633fc-02
Du hast statt PARTUUID einen Pfad drin stehen (root=/dev/mmcblk0p7). Den musst du in die UUID für das zu bootende Medium ermitteln. Die UUID kannst du mit folgendem Befehl ermitteln:
blkid -o list
Dann suchst du die Festplatte / den USB-Stick und schreibst die UUID statt des Pfades in die cmdline.txt.
rootfstype=ext4
Das ist das Dateisystem, mit dem es formatiert ist. Bei Linux ist ext4 üblich.
Hallo,
funktionierte bei mir leider auch nicht, obwohl Pi4 mit Bootloader-Version von April 2021, bis ich folgendes gemacht habe:
1. „sudo raspi-config“ ausführen ohne „“
2. Punkt 6 „Advanced Options“ auswählen
3. Punkt A6 „Boot Order“ auswählen
4. B2 „USB Boot“ auswählen
5. Neustarten
Nach dem Neustart bootete der Raspi vom USB3-Stick
Hoffe das hilft euch.
Ich habe jetzt lange mit meinem Raspi4 herumprobiert. Mit einer SSD-Festplatte habe ich gar keinen Erfolg gehabt. Dann habe ich mir einen Stick besorgt, Der zeigt nach anfänglich kurzem Booten die Meldung „mmc1: Controller never released inhibit bit(s)“ und dann passiert nichts mehr.
Jetzt habe ich mit enem alten Raspi3 probiert, den ich noch herumliegen hatte: Und siehe da, jetzt bootet sowohl der Stick als auch wahlweise die SSD-Festplatte.
Ich wäre wirklich sehr froh, wenn mir mal jemand das erklären könnte…
Genau an die Anleitung gehalten, habe den 4B. Vor allem die Updates gemacht. Läuft sehr viel schneller über die SSD. Hab die Platten schon viele Jahre im Einsatz ohne eine kaputt zu kriegen. Sind halt was anderes als SD Cards. Danke für die Anleitung!
Hallo Leute. Alles schön und gut. Meiner bleibt leider beim Booten von externer SSD hängen und sagt = „mcl: Controller never released imhibit bit(s)“.
Weiter komme ich nicht. Ach so, Raspi pi4, 8gb, Bootloader von 2023.
Hi.
Bei mir läuft die Installation an sich per „Imager“ tadellos.
Jedoch im Betrieb des RaspberryOS läuft das Betriebssystem extrem instabil. Auch der Bootvorgang dauert teilweise bis zu einer Minute.
Sobald ich eine mit vorher installiertem Raspberry OS einstecke, läuft das System relativ stabil, jedoch auch hier und dann langsam. Das war der Grund, warum ich mich auf SSD per USB umsteigen wollte / möchte.
„top“ und andere Werkzeuge zeigen mir auch keinen Flaschenhals an hinsichtlich PUFFER & Co.
Grüße.