Raspberry Pi Image verkleinern mit pishrink

Ich hatte kürzlich das Problem, dass auf einem meiner Raspberry Pis die SD-Karte ausgetauscht werden musste. Ich habe dort eine 32GB-Karte von Samsung im Einsatz gehabt. Bei einem Onlinehändler habe ich mir ebenfalls eine 32GB-Karte jedoch von SanDisk gekauft.

Glücklicherweise habe ich für den Raspberry Pi ein Backup eingestellt gehabt, dass ein komplettes Image der SD-Karte erstellt und auf einen externen Datenträger schreibt.
Die Anleitung dafür gibt es hier
Raspberry Pi SD-Karte im Livebetrieb klonen.

Das so erstellte Image wollte ich mit dem Tool Etcher ( ➡ https://www.balena.io/etcher/) auf die neue Karte schreiben lassen. Jedoch gab es dabei eine unschöne Überraschung. Obwohl auf beiden SD-Karten 32GB aufgedruckt war, war nicht 32GB drin. Bei der neuen Karte meldete Etcher, dass Speicherplatz fehlt und deshalb das Image nicht auf die Karte geschrieben werden kann. Es galt also das Image zu verkleinern, um es auf die neue SD-Karte zu bekommen.

Es gibt dafür das recht cooles kleine Skript „pishrink“ von Drewsif auf github.com, dass diese Aufgabe übernimmt.
https://github.com/Drewsif/PiShrink.
Die Bedienung ist sehr einfach gehalten und das Ganze funktioniert ohne Probleme.

Ich habe für das Shrinken einen Raspberry Pi 4 verwendet, da er mehr Leistung und über USB 3.0-Ports verfügt als der alte Raspberry Pi 3. Es geht auch ein älterer Pi, jedoch benötigt dieser für die Aufgabe wesentlich mehr Zeit.

Die Funktionsweise des Skripts ist schnell erklärt:

  1. Original-Image wird ausgewählt
  2. pishrink erstellt eine exakte Kopie des Original-Images
  3. pishrink verkleinert die Kopie
  4. Original-Image und Kopie werden im gleichen Ordner belassen

Es ist also bei diesem ganzen Prozess unbedingt darauf zu achten, dass eine ausreichend große Festplatte verwendet wird, auf der beide Image-Dateien Platz finden.

Hier ein Screenshot, der das besser veranschaulicht:

pishrink
pishrink

Ich habe mir das Skript in das Verzeichnis „/etc/skripte“ geladen.

wget https://raw.githubusercontent.com/Drewsif/PiShrink/master/pishrink.sh
chmod +x pishrink.sh
sudo mv pishrink.sh /etc/skripte/

Im nächsten Schritt habe ich das Skript ausgeführt

sudo /bin/bash pishrink.sh nextcloud_2019-10-19.img nextcloud_2019-10-19_klein.img

Im obigen Screenshot ist schön zu sehen, was genau passiert und die einzelnen Schritte sind gut nachvollziehbar.

Im nächsten Schritt werde ich versuchen „pishrink.sh“ sinnvoll in beim Backup-Skript ( ➡ Raspberry Pi SD-Karte im Livebetrieb klonen)zu integrieren. Wahrscheinlich ist das nur sinnvoll bei einem Raspberry Pi 4, da sonst ggf. ältere Pis mit geringerem RAM swappen und dadurch die SD-Karte in Mitleidenschaft gezogen wird.

Ich habe das Image auf einer externen Festplatte gespeichert und diese an den RPi angebunden.
Hier noch ganz kurz, wenn ihr eine Festplatte direkt per /etc/fstab einhängen wollt.

UUID der Festplatte identifizieren

sudo blkid

Mount Piont erstellen

/mnt/pishrink

/etc/fstab editieren

sudo nano /etc/fstab

Die externe Festplatte ist im NTFS-Format formatiert.
Damit das Speichermedium schreibend eingebunden werden kann, wird das Paket „ntfs-3g“ benötigt.
Installiert wird das mit

sudo aptitude install ntfs-3g

Die folgende Zeile am Ende der Datei einfügen und die UUID anpassen.

# wird nur für das verkleinern eines Image eingebunden.
UUID=xyxyxyxyxy /mnt/pishrink ntfs defaults,noauto,umask=000,users,rw 0 0

Festplatte einhängen

sudo mount /mnt/pishrink

Das wars, nun könnt ihr mit „pishrink“ das Image auf der Festplatte verkleinern und anschließend auf die neue SD-Karte schreiben.


Gib mir gerne einen Kaffee ☕ aus!

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕ ausgeben.

PayPal Logo


liberapay.com/strobelstefan.org


Kaffee via Bitcoin

bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Photo by Denise Jans on Unsplash

Eine Antwort auf „Raspberry Pi Image verkleinern mit pishrink“

  1. genau in dem Mist war ich vor 4 Jahren versunken, dass ich am Ende diverse 8 GB Karten hatte, die am Ende nicht identisch waren. Die Lösungen damals waren Spielereien mit den Images, die am Ende nicht klappten oder tabula rasa: 5 gleiche Marken SD bestellen  und lagernHat bis jetzt geklappt, nur sind die alle weg und über Dein Script zum Archivieren per Image bin ich dann zu diesem shrink gekommen.Ich werde nun das Shrink in meiner Image Erstellung einarbeiten, da ich auch noch eine Generationsverwaltung mitfahre, nur die letzten x Generationen oder Wochen / Monate zu bewahren.Tolles Blog / Beiträge … jedenfalls für all die, die in den gleichen Untiefen gestrandet sind … und dann auch den Weg hier hin finden.DANKE

Schreibe einen Kommentar

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