Raspberry Pi 4 von SSD booten

Oft kam die Frage, wie man denn den Raspberry Pi 4 von einer SSD booten kann. Dies ist eigentlich relativ einfach – aber gehen wir doch einmal gemeinsam die Schritte durch:

Vorbereitung

In meinem Fall gibt es bereits ein bestehendes Image, welches ich nutzen möchte. Also starte ich den Vorgang, in dem ich mit dem ApplePiBaker eine kopie (also Backup) meiner SD Karte erstelle.

Ist das Backup auf der Festplatte von meinem Mac gespeichert, so schreibe ich es im zweiten Arbeitsschritt nun auf die SSD. Hierfür nutze ich einen USB Adapter, den ich Dir unten nochmal verlinkt habe. Die SSD ist einfach eine ältere SSD, die ich noch hatte.

Konfiguration vom Rasperry Pi 4

Als nächstes stecke ich die SD Karte wieder in den Raspberry und starte diesen. Die SSD muss zu diesem Zeitpunkt noch nicht angesteckt sein. Ist der Raspi gestartet verbinden wir uns mit dem Terminal (oder Putty) auf die Kommandozeile. Bevor wir nun weiter machen bringen wir nämlich das System nochmal auf den aktuellen Stand mit den folgenden beiden Befehlen:

sudo apt-get update
sudo apt-get upgrade

Ist dies erledigt schauen wir einmal genauer nach, welches denn nun unsere SSD ist im System – also wie diese nun erkannt wird. Hierfür – erstmal ohne SSD – geben wir folgenden Befehl ein:

sudo blkid

Jetzt die SSD anschliessen und den Befehl nochmals eingeben. Es sollten nun zwei Zeilen hinzugekommen sein. Bei mir sah es wie folgt aus:

pi@raspberrypi:~ $ sudo blkid
/dev/mmcblk0p1: LABEL_FATBOOT="boot" LABEL="boot" UUID="5203-DB74" TYPE="vfat" PARTUUID="6c586e13-01"
/dev/mmcblk0p2: LABEL="rootfs" UUID="2ab3f8e1-7dc6-43f5-b0db-dd5759d51d4e" TYPE="ext4" PARTUUID="6c586e13-02"
/dev/mmcblk0: PTUUID="6c586e13" PTTYPE="dos"
/dev/sda1: LABEL_FATBOOT="boot" LABEL="boot" UUID="4BBD-D3E7" TYPE="vfat" PARTUUID="738a4d67-01"
/dev/sda2: LABEL="rootfs" UUID="45e99191-771b-4e12-a526-0779148892cb" TYPE="ext4" PARTUUID="738a4d67-02"

Wir sehen hier also mit sd1 und sda2 zweil zusätzliche Partitionen, die über USB angeschlossen sind. Wichtig hierbei ist nun beim Label „rootfs“ die PARTUUID – in meinem Fall die 738a4d67-02

Diese kopieren wir uns – denn diese benötigen wir gleich. Denn nun müssen wir dem kleinen Raspberry ja noch sagen, wovon er in Zukunft booten soll. Dafür bearbeiten wir die commandline.txt. Aber zunächst einmal – bevor wir etwas ändern – machen wir uns eine Kopie der Datei. Dies ist recht einfach gemacht durch den Befehl:

sudo cp /boot/cmdline.txt /boot/cmdline.txt.old

Ist die Datei kopiert, dann können wir die eigentliche Datei auch beabeiten. Wie immer ist auch dies recht simpel mit unserem Editor nano. Der Befehl lautet nun:

sudo nano /boot/cmdline.txt

Hier in der cmdline.txt ersetzen wir die UUID der SD Karte durch die UUID der SSD. Im Video habe ich Dir auch nochmal gezeigt wie genau dies klappt. Ist die Datei nun gespeichert, dann können wir den Raspi auch neu starten:

sudo reboot

Fertig?

Noch nicht ganz. Auf der SD Karte und auf der SSD ist nun ein boot Verzeichnis. Das macht eigentlich nichts – aber durch Updates usw. könnte es sein, dass das System hier durcheinander kommt. Um dies zu verhindern und um es sauber anzuschliessen ändern wir nun noch die fstab. Hier ist beschrieben, wo und welches Laufwerk zum booten genutzt wird.

Als erstes schauen wir uns die Konfiguration an mit dem Befehl:

lsblk -o name,label,partuuid

Hier werden dann die Laufwerke und die boot Verzeichnisse aufgeführt. Die UUID der SD Karte kopieren wir nun und öffnen danach die fstab Konfigurationsdatei, um diese anzupassen:

sudo nano /etc/fstab

Ist auch das gemacht, dann haben wir alles erledigt und der Raspberry startet in Zukunft von der SSD.

Links

USB auf SSD Adapter: https://amzn.to/2TQr4DR
SSD Empfehlung: https://amzn.to/3365rDz
Das Raspi Set bei Reichelt: https://www.reichelt.de/das-reichelt-raspberry-pi-4-b-4-gb-all-in-bundle-rpi-4b-4gb-allin-p263086.html?r=1
Das Set bei Amazon: https://amzn.to/38PnZtR

Video

Vielleicht auch interessant?
Aktuelle Seminare:

Weitere ähnliche Beiträge auf verdrahtet.info:

23 Kommentare. Hinterlasse eine Antwort

  • Sollte man sein System komplett neu aufsetzen wollen, geht es etwas einfacher:
    Via etcher.io zunächst das Image auf die SD-Karte bringen. Danach die SD-Karte am PC kurz neu mounten und in der Datei „config.txt“ die Zeile „program_usb_boot_mode=1“ hinzufügen. Anschließend von der SD-Karte den Raspi booten und ein paar Minuten warten (Am besten mit SSH testen, ob gebootet). Danach den Raspi wieder ausschalten und SD-Karte entnehmen. Nun das Raspi-Image auf die SSD via etcher.io bringen (ACHTUNG: Aufpassen, die richtige Platte wählen!). Nun via USB anschließen, booten, fertig!

    Antworten
    • Enrico Penetti
      12. März 2020 17:09

      Soweit ich das verstanden habe, funktioniert das nicht mit dem Pi 4

      Antworten
      • Stimmt, das musste ich heute auch feststellen. Bei meinem Raspi3 hat das noch ohne Probleme geklappt. 🙁

  • Hallo
    Muss danach die SD Karte im Raspy verbleiben oder kann Sie, wie beim
    Dreier entfernt werden.

    Antworten
  • Enrico Penetti
    12. März 2020 17:12

    Wird die rootfs-partition der SD-Karte noch irgendwo verwendet? Wenn ich diese Partition lösche, starten einige Dienste nicht mehr richtig und er wartet beim Start auch über 5min auf eine Netzwerkkonfiguration.

    Antworten
  • Doch schon. Aber die SD Karte muss zum starten drin bleiben.
    Danach folgrn alle Zugriffe auf der SSD.
    Somit wird di SD geschont und hält ewig durch

    Antworten
  • Wenn man unter Windows 10 eine Kopie des bestehenden PI4 Images mit Win32 DiskImager erstellt, erhalte ich immer die gleiche PARTUUID für mein USB Laufwerk und somit unterseidet die sich halt nicht zur PARTUUID der SD Karte.
    Was mache ich falsch? Was kann ich ändern?

    Antworten
  • Könnte man das so auch auf RaspberryMatic adaptieren?

    Antworten
    • Enrico Penetti
      17. März 2020 9:41

      Ich glaube schon. Nur macht das für mein Dafürhalten nicht wirklich Sinn, da Raspberrymatic ein readonly Dateisystem verwendet und dadurch die Karte geschont wird. Eine SSD ist da bloß Geldversenken.

      Antworten
  • Ich habe das Problem das nach sudo cp /boot/cmdline.txt /boot/cmdline.txt.old dieser Fehler unten kommt. Ich habe überhaupt keine cmdline.txt

    der Aufruf von stat für ‚/boot/cmdline.txt‘ ist nicht möglich: Datei oder Verzeichnis nicht gefunden

    Antworten
  • Ist so ne Backup Nummer auch mit nem Home assistant (Hassbian)? Ich habe auf meinem pi 4b (64GB microSD) ein laufendes home assistant System… Nun würde ich gerne von der microsd auf eine SSD umziehen….

    oder bin ich da gebunden an Debian busters/stretch?

    Antworten
  • Hallo zusammen, hat jemand eine Idee was ich fasch mache? Nach der oben aufgeführte Anweisung mit den Befehl „sudo blkid“ bekomme ich ohne SSD Karte folgendes Ergebnis:
    /dev/mmcblk0p1: LABEL_FATBOOT=“boot“ LABEL=“boot“ UUID=“5203-DB74″ TYPE=“vfat“ PARTUUID=“6c586e13-01″
    /dev/mmcblk0p2: LABEL=“rootfs“ UUID=“2ab3f8e1-7dc6-43f5-b0db-dd5759d51d4e“ TYPE=“ext4″ PARTUUID=“6c586e13-02″
    /dev/mmcblk0: PTUUID=“6c586e13″ PTTYPE=“dos“

    Mit der SSD siehr das Ergebnis dann so aus:
    /dev/mmcblk0p1: LABEL_FATBOOT=“boot“ LABEL=“boot“ UUID=“5203-DB74″ TYPE=“vfat“ PARTUUID=“6c586e13-01″
    /dev/mmcblk0p2: LABEL=“rootfs“ UUID=“2ab3f8e1-7dc6-43f5-b0db-dd5759d51d4e“ TYPE=“ext4″ PARTUUID=“6c586e13-02″
    /dev/sda1: LABEL_FATBOOT=“boot“ LABEL=“boot“ UUID=“5203-DB74″ TYPE=“vfat“ PARTUUID=“6c586e13-01″
    /dev/sda2: LABEL=“rootfs“ UUID=“2ab3f8e1-7dc6-43f5-b0db-dd5759d51d4e“ TYPE=“ext4″ PARTUUID=“6c586e13-02″
    /dev/mmcblk0: PTUUID=“6c586e13″ PTTYPE=“dos“

    Leider finde ich da kein Unterschied in den Partuuids
    Kann man die IDs ändern und wenn wie?

    Vielen Dank für eure Tipps
    Joachim

    Antworten
    • Marco Blanke
      3. April 2020 13:32

      das selbe porblem habe ich auch, liegt am image clone bzw. wieder aufspielen. arbeite noch an einer lösung

      Antworten
  • Hallo,
    vestehe ich richtig, dass man die SD Karte trotzdem noch braucht? Bei 3B und 3B+ nbenötigt man dies ja nicht.
    Danke für eine Rückmeldung. Übrigens – habe die meisten Videos gesehen, sehr gut erklärt großen Lob hierfür.
    Danke

    Antworten
  • Hallo,
    ich finde deine Videos sehr hilfreich und verständlich. Danke dafür.
    Meine Frage: funktioniert die Anleitung auch für einen Raspberry PI 3B oder benötige ich einen neuen PI?
    LG

    Antworten

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Bitte füllen Sie dieses Feld aus
Bitte füllen Sie dieses Feld aus
Bitte gib eine gültige E-Mail-Adresse ein.

Menü