Aus Raspberry Pi Geek 08/2019

RasPi-Images sicherer schreiben mit PiFlash

© deniskot, 123RF

Sicher geflasht

Christoph Langner

Unter Linux schreibt man Images in der Regel mit dem Kommandozeilenwerkzeug Dd. Die Angabe einer falschen Geräte-ID führt dabei unweigerlich zu Datenverlust. PiFlash bietet mehr Komfort sowie clevere Schutzmaßnahmen.

Ein Raspberry Pi ist schnell aufgebaut: Platine auspacken, Eingabegeräte anschließen, Monitor oder Fernseher per HDMI verbinden, Speicherkarte einstecken, Netzteil anschließen – schon geht die Post ab. Ein Schritt fehlt in der Aufzählung allerdings. Wer sich einfach nur den RasPi als Platine kauft, der muss das System selbst auf die Micro-SD-Karte laden – der Einplatinencomputer kommt nackt, ohne ein Betriebssystem.

Um ein System auf die Speicherkarte zu schreiben, gibt es eine Vielzahl von Optionen; in Ausgabe 07-08/2017 haben wir eine Reihe von Anwendungen dazu vorgestellt [1]. Für Windows-Anwender empfiehlt sich zum Beispiel Rufus [2], Linux bringt mit dem Kommandozeilenwerkzeug Dd bereits alles Nötige mit, und plattformübergreifend steht balenaEtcher [3] (früher einfach nur Etcher) bereit.

Gefährliches Dd

Als eine in Javascript entwickelte Anwendung trägt Etcher allerdings schweres Gepäck in Form der Electron-Laufzeitumgebung mit sich herum; schon der Download des Programms beläuft sich auf mehr als 100 MByte. Von daher greifen viele Linux-Anwender lieber auf das einfach gestrickte Kommando Dd zurück. Das Linux-Tool zählt jedoch zu den Werkzeugen, mit denen man sich aus Versehen das System ruinieren oder gar wichtige Daten unwiederbringlich löschen kann. Mit PiFlash [4] gibt es eine Alternative, die ähnlich wie Dd auf der Kommandozeile bleibt, aber ein paar Hilfen und Sicherheitsmaßnahmen bietet.

PiFlash müssen Sie aktuell von Hand installieren, da keine der gängigen Linux-Distributionen die Anwendung in den Paketquellen führt. Das Einspielen beschränkt sich allerdings auf die Installation einer Reihe von Perl-Bibliotheken sowie das Laden des Programms über das Online-Repository CPAN. Das Projekt beschreibt den Vorgang für DEB- (Debian, Ubuntu, Raspbian) und RPM-basierte (Fedora, CentOS) Distributionen ausführlich in der Dokumentation [5]. Auf einem aktuellen System mit Ubuntu 19.04 klappte die Installation ohne Probleme (Listing 1, erste zwei Zeilen).

Listing 1

$ sudo apt install cpanminus libfile-libmagic-perl libio-all-perl libexception-class-perl libtry-tiny-perl libmodule-pluggable-perl libyaml-libyaml-perl
$ sudo cpanm PiFlash
$ sudo cpanm PiFlash --uninstall

Um das Programm später zu aktualisieren, wiederholen Sie einfach das zweite Kommando. Erweitern Sie es mit der Option --uninstall (Listing 1, letzte Zeile), werfen Sie PiFlash wieder von der Festplatte. Nach der Installation erhalten Sie mit dem Aufruf piflash --help eine erste Übersicht über die Funktionsweise.

PiFlash als Alternative zu Dd

Unter der Haube setzt PiFlash auf die üblichen Linux-Werkzeuge wie Dd, Sfdisk und Sync. Das Programm strickt demnach nur ein wenig Komfort um die Linux-Tools herum – was für den RasPi-Fan, der oft mit Images hantiert, Zeitersparnis und Sicherheit bedeutet. Die Syntax von PiFlash beschränkt sich im einfachsten Fall auf den Aufruf des Programms, gefolgt von der Image-Datei sowie dem Ausgabegerät:

§§ nonumber
$ piflash Image.img /dev/sdxy

Beim Ermitteln der Geräte-ID (unter Linux üblicherweise /dev/sdxy oder mmcblkx) unterstützt Sie das Kommando piflash --SDsearch. Dabei müssen Sie beachten, dass PiFlash ähnlich wie Blkid nicht zwischen USB-Massenspeichern und SD-Karten unterscheidet. Im Zweifel sollten Sie die Geräte-ID zusätzlich mit einem grafischen Werkzeug wie Disks aus der Gnome-Desktop-Umgebung überprüfen (Abbildung 1).

Abbildung 1: PiFlash ermittelt die Geräte-IDs aller Flash-Speichermedien, unterscheidet dabei aber nicht zwischen SD-Karten und USB-Sticks. Zur Sicherheit kontrollieren Sie die Wahl der ID mit einem Tool wie Gnome Disks.

Abbildung 1: PiFlash ermittelt die Geräte-IDs aller Flash-Speichermedien, unterscheidet dabei aber nicht zwischen SD-Karten und USB-Sticks. Zur Sicherheit kontrollieren Sie die Wahl der ID mit einem Tool wie Gnome Disks.

Beim Schreiben müssen Sie das heruntergeladene Archiv mit der Image-Datei, etwa das aktuelle Raspbian, nicht zwingend auspacken. PiFlash überprüft, ob Sie direkt eine IMG-Datei als Input angegeben haben, und packt bei Bedarf XZ-, GZIP- oder ZIP-gepackte Archive aus.

Machen Sie bei der Angabe der Geräte-ID einen Fehler, indem Sie etwa die ID einer Festplatte eintippen, bricht PiFlash automatisch ab. Dabei gilt aber wieder die bereits genannte Einschränkung: Das Programm unterscheidet nicht zwischen SD-Karten in einem Kartenleser und USB-Sticks – passen Sie also genau auf, wohin Sie das Image schreiben (Abbildung 2).

Abbildung 2: Im ersten Durchgang blockiert PiFlash den Versuch, das Image auf die Festplatte des Systems zu schreiben. Im zweiten Durchgang, mit der Geräte-ID der Micro-SD-Karte, läuft alles glatt.

Abbildung 2: Im ersten Durchgang blockiert PiFlash den Versuch, das Image auf die Festplatte des Systems zu schreiben. Im zweiten Durchgang, mit der Geräte-ID der Micro-SD-Karte, läuft alles glatt.

Treten beim Schreiben des Images Probleme auf, liefert die Option --verbose weitere Informationen. Das Übertragen eines Betriebssystem-Images bringt gegenüber der herkömmlichen Installation eines OS den Nachteil mit, dass beim Schreiben des Images auch die Partitionsgrößen übernommen werden. Schreiben Sie beispielsweise das Lite-Image von Raspbian auf eine 8 GByte große Speicherkarte, liegen 6 GByte des Speicherplatzes brach. Für den Raspberry Pi optimierte Systeme vergrößern die Datenpartition automatisch beim ersten Booten auf den gesamten Datenträger, doch PiFlash erledigt bei Bedarf mit der Option --resize diesen Schritt schon vorher (Abbildung 3).

Abbildung 3: Mit der Option <code>--resize</code> erweitert PiFlash nach dem Schreiben des Images die Datenpartition auf den gesamten zur Verf&uuml;gung stehenden Speicherplatz des Datentr&auml;gers (1 *ohne Resize, 2 *mit Resize).

Abbildung 3: Mit der Option --resize erweitert PiFlash nach dem Schreiben des Images die Datenpartition auf den gesamten zur Verfügung stehenden Speicherplatz des Datenträgers (1 *ohne Resize, 2 *mit Resize).

Fazit und Ausblick

PiFlash umgeht die schlimmsten Fehlerquellen von Dd: So verhindert das Programm etwa zuverlässig das versehentliche Überschreiben einer Festplatte mit einem Raspberry-Pi-Image. Dank der integrierten Entpacker-Routine und der Resize-Option spart PiFlash zudem die eine oder andere Minute beim Aufbereiten der Speicherkarte. Mithilfe eines Plugins lässt sich PiFlash zudem erweitern und kann nach dem Schreiben des Images weitere Aktionen auf das zukünftige RasPi-System anwenden [6]. Für Ritter der Linux-Konsole, die etwas mehr Komfort suchen, bietet PiFlash daher eine gute Option. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 3 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben