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.
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.