Der Raspberry Pi ist bei mir die erste Wahl für allerlei Projekte. Vor allem aber nutze ich ihn für die Steuerung meiner Hausautomation mittels openHAB. Gerade in diesem Bereich ist es wichtig, dass das kleine Wunderding stabil läuft und möglichst nicht ausfällt. Natürlich kann ein technisches Gerät immer ausfallen – jedoch kann man die Faktoren, die dazu führen versuchen zu minimieren. Eine große Schwachstelle ist die SD Karte, auf der das ganze System installiert ist. SD Karten sind – im Gegensatz zu Festplatten oder SSDs – nicht dafür ausgelegt im Dauerbetrieb gelesen und beschrieben zu werden. Das führt früher oder später zum Ausfall der SD Karte und damit auch zum Ausfall des gesamten Raspberry Pi. Dem kann vorgebeugt werden, indem man direkt von einer angeschlossenen SSD bootet, die für deutlich größere Belastungen ausgelegt ist.
Der Raspberry kann die angeschlossenen Geräte nur mit 600mA versorgen. Daher empfehle ich die Festplatte extern mit Strom zu versorgen.
Raspberry Pi vorbereiten
Falls du einen Raspberry Pi 3b+ hast kannst du diesen Teil der Anleitung überspringen. Das neuste Modell kann von Haus aus von USB booten. Für die Modelle 2B (nur v1.2) und 3B musst du ein Bit im OTP (one-time-programmable) Memory setzen. wie der Name schon sagt, kann dieses Bit nur einmalig gesetzt und nicht rückgängig gemacht werden. Das sollte dich aber nicht abschrecken. Die Benutzung mit einer SD Karte ist weiterhin möglich. Der Raspberry Pi versucht immer zuerst von der SD Karte zu booten. Ist das nicht möglich oder es ist keine SD Karte vorhanden wird von der angeschlossenen USB Festplatte gebootet.
- Lade dir hier das neuste Raspbian Image herunter. Am besten du wählst „Raspbian Stretch with desktop“. Das Image flashst du mit Hilfe von Etcher auf deine SD Karte. Wie das Genau funktioniert habe ich in diesem Artikel am Beispiel von openHAB erklärt.
- Sobald das Image erstellt wurde öffnest du an deinem Computer die gerade geflashte SD Karte und suchst nach der Datei config.txt. Falls Etcher die SD Karte ausgeworfen hat, entferne sie kurz und stecke Sie wieder in den Slot. Danach wird sie normal als Laufwerk erkannt.
- Füge am Ende folgende Zeile ein und speichere die Datei ab:
1program_usb_boot_mode=1 - Nun kannst du die SD Karte in den Raspberry einschieben und starten. Das Gerät bootet normal und setzt dabei das Bit. Wenn du keinen Bildschirm angeschlossen hast, warte einfach 2-3 Minuten, dann sollte der Boot Vorgang abgeschlossen sein.
- Jetzt sollte das booten von einer USB Festplatte schon funktionieren. Um eine bootfähige Festplatte zu erstellen kannst du Schritt 1 wiederholen und anstelle der SD Karte eine USB Festplatte flashen. Damit der Raspberry von der Festplatte bootet, muss die SD Karte vorher entfernt werden. Wie oben bereits erwähnt versucht das Gerät immer zuerst von der SD Karte zu booten.
Hallo Zusammen,
ich besitze einen Raspberry PI 3 dieser Boot von meiner SSD.
Auf dem Raspberry läuft meine komplettes Smart-Home System (Bticino BUS System, Zwave Controler) nutze hier die Oberfläche Domoticz.
Habe einen USB Hub von Anker hier steckt die SSD, Zwave-Stick, GSM Stick für SMS.
Meine Frage wenn der Raspberry kaputt geht reicht es hier einen neuen Raspberry Pi 3 am USB Hub anzuschließen.
Wenn Ja, dann würde ich mir noch einen Raspberry kaufen. Wär ja nicht gut wenn dieser ausfällt und wir kein Warmwasser mehr hätten. 😉
Danke im Vorraus
lg
Mario
Hi Mario,
es sollte grundsätzlich funktionieren. Es kann sein, dass sich die UUID etc. ändert, wenn du eine neue Hardware benutzt. Aber grundsätzlich habe ich auch schon Gerätewechsel ohne größere Anpassungen vollzogen.
Viele Grüße
Patrick
Hallo Patrick
Danke dann werde ich mir einen 2. RASPBERRY kaufen.
Lg
Habe es auch ohne Gparted hinbekommen.
Geht auch mit raspi-config. Bei mir hat er die 32gb beim ersten mal auf 64 gb erweitert, nach einem Reboot und einem weiteren resize mit raspi-config habe ich nun, die ganze Platte (120gb SSD) genutzt.
Hallo zusammen. Ich habe leider auch das Problem, das ich nur die 30GB meiner geklonten SD auf der installierten SSD nutzen kann. Vielleicht kann mir hier jemand erklären, wie ich das mit dem Gparted auch über das SSH Terminal hinbekommen kann, so das ich die ganzen 120GB für meinen Raspberry 3b+ nutzen kann. Er bootet schonmal einwandfrei von der SSD und der ioBroker läuft auch ohne Probleme…. jetzt fehlt mir nur noch die restliche Festplattenkapazität 😉👍🏻
Hey Martin,
ich hatte damals das gleiche Problem. Meine Lösung war alles neu zu installieren und die Konfigurationen ins neue System zu kopieren. Es scheint aber auch Programme zu geben, die beim Klonen den gesamten Speicher der neuen Platte nutzen können. Ich nutze Etcher und das ist dazu wohl nicht in der Lage.
Viele Grüße
Patrick
Hallo,
ich möchte meinen Raspberry Pi 3+ einer 512 GB SSD Platte booten! Welches File-System verträgt der Raspberry? FAT, FAT32 etc. . Was nützen mir 512 GB mit FAT?
Weiss jemand etwas darüber bzw. wie man soetwas vernünftig einbindet?
Grüße aus Offenbach,
Reinhold Kwauka
Linux nutzt in der Regel das EXT4 Format. Macht der Installer automatisch.
Der USB 3.0 auf SATA-Adapter bringt bei einer 2,5 Zoll SDD nix. Die externe Stromversorgung speist 12V ein für 3,5 Zoll SDDs. 2,5 Zoll SDDs laufen nur mit 5V via USB – die 3,5 Zoll SDDs benötigen 12V und 5V. Folglich wird selbst mit einem Netzteil dran der komplette Strom via USB gezogen.
Danke für die Info 🙂 Dann hatte ich mit diesem Adapter einfach Glück. Die gleiche Platte in einem externen Festplattengehäuse ohne extra Stromversorgung hat nicht funktioniert.
Viele Grüße
Patrick
Ich betreibe meinen Raspberry 3B mit einer Scandisk SATA SSD 128 GB mit externer Stromversorgung (SATA auf USB). Läuft problemlos. Was nicht funktioniert ist ein Reboot. Der Raspberry startet nur von USB nachdem er stromlos gemacht wurde.
Hallo William,
das ist ein sehr seltsames verhalten. Ich habe es bei mir gerade noch einmal getestet und es wird auch bei einem reboot von der SSD gebootet. EIne SD Karte hast du nicht mehr im Gerät stecken, oder?
Viele Grüße
Patrick
Hallo Patrick,
erst mal Danke für deine Antwort. Eine SD Karte ist nicht mehr im Raspberry.
In der config.txt hab ich diese beiden Zeilen
program_usb_boot_mode=1
program_usb_boot_timeout=1
Raspbian Version ist strech
Da habe ich aktuell wirklich keine Idee an was das liegen könnte. Tut mir sehr leid.
Hallo Patrick,
danke für deine Antwort. An welchem USB Port hast du die SSD und welche Hardware verwendest du für SSDUSB.
Ich nutze einen Adapter von ICY Box mit externer Stromversorgung, eine SanDisk SSD und den USB Port oben links.
https://zukunftathome.de/produkt/sandisk-ssd-plus-120gb-sata-iii-2-5-zoll/
Habe es mehrmals neu gestartet und das System bootet problemlos durch. Konntest du dich nach einem reboot per SSH einwählen?
Mit einem bootfähigen USB-Stick und GParted drauf sollte das funktionieren.
Mein Raspberry 3 läuft seit Monaten ohne Probleme mit einer SSD.
Das Problem ist, ich möchte ein Backup der SSD anfertigen.
Ein Sektor-Sektor Backup-Image habe ich angelegt und auf eine identische SSD (inkl. gleichem USB-Gehäuse) geschrieben.
Diese geklonte SSD bootet zum verrecken nicht an dem Pi. Stecke ich die „alte“ SSD wieder an läuft alles wie geschmiert.
Ausprobiert mit Acronis und Macrium Reflect Free – beides erfolglos.
Hat jemand eine Idee woran es liegen könnte? Ich wäre für jeden Tipp dankbar.
Hallo Frank,
das hört sich seltsam an. Ich habe aktuell leider auch keine Idee was man anders machen könnte. Falls du noch eine weitere SSD hast, könntes du es damit probieren – oder du klonst auf eine SD Karte oder USB Stick (falls die original SSD nicht zu groß ist) um zu prüfen, ob der Klon oder die SSD Probleme macht.
Zweite SSD (anderer Hersteller) wurde schon ausprobiert, gleiches Ergebnis.
Das einzige woran es liegen könnte was ich mir vorstellen kann ist, dass TRIM beim Clonen der SSD aktiviert wird. Irgendwo habe ich mal gelesen, dass USB2 keinen TRIM-Befehl unterstützt,
Habe leider bisher beim googlen nichts zum clonen von SSDs am Raspberry gefunden.
Hat das schon mal jemand erfolgreich durchgeführt? Wenn ja, wie und womit?
Die geklonte SSD läuft jetzt bei mir. Ich will Euch die Lösung nicht vorenthalten:
Es scheint so, dass es bei einer SSD am Pi als Bootlaufwerk zwingend notwendig ist, beim Klonen die PARTUUID in den Dateien cmdline.txt und fstab entsprechend auf die ID der neuen SSD abzuändern.
Allerdings ist das nicht so ganz einfach, fstab liegt auf der ext4-Partition. Ich habe die Platte an einen Linux-Rechner gehängt und dann mit sudo nano fstab die Einträge geändert.
Wenn jemand weiss wie es einfacher geht dann bitte melden.
Welchen Adapter hast Du verwendet?
Mit oder ohne Netzteil?
Ohne Netzteil.
(Darf man hier verlinken?)
Inateck USB 3.0 Externes festplatten Gehäuse für 9.5mm 7mm 2.5 zoll SATA SSD HDD mit USB3.0 Kabel:
https://www.amazon.de/gp/product/B00IJNDBM4/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
Kingston SA400S37/120GB Solid-State-Drive:
https://www.amazon.de/gp/product/B01N6JQS8C/ref=ppx_yo_dt_b_asin_title_o03_s00?ie=UTF8&psc=1
Hallo Tobias,
ich habe einen Adapter mit Netzteil verwendet. Die SSD wollte ohne Netzteil einfach nicht starten. Den Strom bei den USB Ports hochzusetzen funktioniert nicht, wenn die Info auf der SSD liegt, die per USB angeschlossen ist.
@Frank: Wie hast du es geschafft ohne Netzteil auszukommen?
Das läuft bei mir ohne das ich was machen musste (mit dem oben verlinkten Gehäuse und SSD).
Ich verwende für den PI das Netzteil aus dem Starterkit (2,5A)?
https://www.amazon.de/gp/product/B01CI5879A/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
Das läuft bei mir ohne das ich was machen musste (mit dem oben verlinkten Gehäuse und SSD).
Ich verwende für den PI das Netzteil aus dem Starterkit (2,5A)?
https://www.amazon.de/gp/product/B01CI5879A/ref=ppx_od_dt_b_asin_title_s00?ie=UTF8&psc=1
Hallo Patrick.
Bedeutet das dann eigentlich, das ich das Retropie-Projekt auf SSD packen kann?
Ich sehe schon die TBs an Roms auf die Platte fliegen 🙂
Genau so ist es. Einfach Retropie mit Etcher auf die SSD flashen und am Raspberry einstöpseln. Dann hast du genug Platz für Spiele 😉
Kurze Rückfrage: Muß ich bei dem Image, welches ich auf die SSD schreibe auch den Befehl „program_usb_boot_mode=1“ eintragen, oder wird das Bit irgendwo auf der Platine gesetzt?
Hallo Kerki,
der Befehl muss nicht noch einmal auf der SSD geschrieben werden. Es wird ein Bit in einem internen Speicher des Raspberry gesetzt. So weiß das Gerät, dass es von USB booten muss, wenn keine oder keine bootfähige SD Karte vorhanden ist.
Viele Grüße
Patrick
Hallo.
Super Sache. Hat alles funktioniert. Jetzt muß ich noch heraus bekommen, wie ich das Filesystem auf der SSD so erweitern kann, dass ich die gesamte Festplatte nutzen kann.
Über raspi-config geht das ja leider nicht, da es sich ja nicht um eine SD-Karte hamdelt.
Hast du da noch einen Tip für mich?
Das geht recht einfach mit Gparted : sudo apt-get install gparted
Hallo Hartmut,
vielen Dank für den Tipp 🙂 Das sieht wirklich hilfreich aus für alle, die im Terminal nicht ganz zu Hause sind.