Mit Kindd bootfähige Images per GUI erstellen

Aus LinuxUser 01/2020

Mit Kindd bootfähige Images per GUI erstellen

© Andriy Popov, 123RF

Draufgebügelt

Kindd bietet ein grafisches Pendant zum allseits bekannten Kommandozeilentool Dd, das gefahrlos Images bootfähig auf USB-Sticks überträgt.

Beim Verwalten von Linux-Rechnern kommen häufiger mehr oder weniger destruktive Befehle zum Einsatz, die besondere Aufmerksamkeit erfordern. Dazu zählen unter anderem auch Rm (“remove”) und Dd (“disk dump”). Den beiden sehr mächtigen Werkzeugen wohnt ein zerstörerisches Potenzial inne, sodass bei unachtsamer Verwendung schnell Datenverlust droht.

Rm besitzt zumindest für die Root-Partition eine integrierte Notbremse, Dd dagegen überschreibt angegebene Partitionen ohne Nachfrage. Deshalb interpretieren manche Anwender den Namen des Tools spitzzüngig auch als Akronym für “destroy data”.

Geht es um das Erstellen von bootbaren Abbildern von Distributionen auf externen Medien wie USB-Sticks oder SD-Karten, so existieren neben einigen distributionsspezifischen Lösungen schon seit Längerem grafische Tools, die verhindern sollen, dass die Angabe falscher Partitionsbezeichner zu Datenverlust durch Überschreiben führt.

Dazu zählen neben dem nicht von allen Distributionen unterstützten Unetbootin [1] das nur unter Windows einsetzbare Rufus [2] sowie das in den letzten Jahren immer populärere Etcher [3]. Diese Anwendungen bieten bei der Auswahl, wohin sie Image schreiben sollen, lediglich externe Geräte an, sodass man nicht versehentlich die falsche Partition überschreibt.

Dabei lässt sich das grundsätzlich hervorragende Etcher durch seine Paketierung als AppImage auf so gut wie allen Distributionen einsetzen. Da es aber mit dem Electron-Framework [4] entwickelt wurde, benötigt es viele Abhängigkeiten, die das AppImage auf eine Größe von rund 100 MByte aufblähen.

Kindd

Mit wesentlich weniger Platz begnügt sich ein weiterer Vertreter der grafischen Dd-Pendants, das relativ neue Tool Kindd [5]. Wenn man nach dem Kompilieren der Anwendung den unnötigen Ordner mit Screenshots entfernt, lässt sich dessen Platzbedarf auf überschaubare 30 MByte drücken. Kindd steht für “A kindful DD GUI written in Qt Quick”. Damit prädestiniert sich Kindd in erster Linie für Desktop-Umgebungen wie Plasma oder LXQt; es erfordert mindestens ein aktuelles Qt 5.13.

Diese Qt-Version halten noch nicht alle Distributionen vor, weswegen sich Kindd derzeit am einfachsten unter Arch Linux einsetzen lässt. Dort finden Sie es im Anwenderarchiv AUR sowohl als Release-Version als auch als Git-Auszug. Bei allen anderen Distributionen, die bereits Qt 5.13.x oder 5.14 anbieten, müssen Sie die Software selbst aus den Quellen bauen.

Für das noch junge Programm fehlen bislang wichtige Dokumentationen auf Github. Das betrifft vor allem die benötigten Abhängigkeiten zum Kompilieren. Der Programmierer entwickelte das Tool auf dem nicht allzu weitverbreiteten Void Linux und gibt lediglich dafür Abhängigkeiten an, die aber zumindest im Gegencheck nicht ausreichen.

Selbst gebaut

Über die auf Github angegebenen Pakete hinaus mussten wir zum Testzeitpunkt bei Void Linux zusätzlich noch git, qt5-qmake, qt5-declarative-devel und qt5-quickcontrols2-devel installieren. Wir haben Kindd auf der Distribution KDE Neon User-Edition kompiliert, die auf der neuesten LTS-Version von Ubuntu basiert und über Qt 5.13 verfügt. Die hierfür ermittelten Abhängigkeiten führt der Kasten “Kindd: Abhängigkeiten unter Debian und Derivaten” auf.

Kindd: Abhängigkeiten unter Debian und Derivaten

Folgende Abhängigkeiten müssen Sie installieren, um Kindd unter Debian und dessen Derivaten übersetzen und betreiben zu können: git, gcc, g++, make, qt5-default, libpolkit-qt5-dev, qml-module-qt-labs-platform, libqtquickcontrols2-5, qtquickcontrols2-5-dev, qml-module-qtgraphicaleffects, qtdeclarative5-dev.

Ein generelles Ärgernis beim Bau von Paketen unter unterschiedlichen Distributionen stellt die verschiedene Benennung der benötigten Bibliotheken dar. Die eine Distribution nutzt -dev als Namensteil, die nächste -devel, und zudem findet sich das -qt an verschiedenen Stellen des Namens.

Als Helfer beim Ermitteln der korrekten Paketnamen dienen bei Debian etwa apt search und apt-file search, wobei Sie dafür zunächst das Paket apt-file installieren und die Paketliste per apt-file update einlesen müssen. Auch Google hilft hier weiter, wenn Sie etwa einen von einer anderen Distribution bekannten Namen bei der Suche mit dem Begriff “Debian” kombinieren. Auf jeden Fall handelt es sich oft um ein zeitaufwendiges Unterfangen, besonders wenn Sie mit Distributionen wie KDE Neon arbeiten, die mit einer eher kurzen Paketliste aufwarten.

Nach der Installation aller Abhängigkeiten geht es daran, den Quellcode von Github zu laden. Das erledigen Sie entweder auf der Github-Seite [5] mit einem Klick auf Clone or download oder Sie nutzen dafür Git im Terminal (Listing 1, erste Zeile). Danach wechseln Sie in den Quellcode-Ordner von Kindd und rufen dort Qmake auf (zweite und dritte Zeile). In unserem Fall erhielten wir sofort einen Prompt zurück. Der darauffolgende Befehl make braucht etwas länger (Zeile 4). Falls Sie hier eine Fehlermeldung erhalten, fehlt vermutlich eine Abhängigkeit.

Listing 1

$ git clone https://github.com/LinArcX/Kindd/
$ cd Kindd/
$ qmake
$ make

Verwenden Sie anstelle einer vollen Desktop-Umgebung einen Fenstermanager wie i3, beachten Sie die Hinweise bezüglich Polkit auf der Github-Projektseite.

Einfache Oberfläche

Nach erfolgreicher Installation starten Sie die Anwendung mittels des Aufrufs ./kindd (Abbildung 1). Die sehr einfach gehaltene Oberfläche bedarf kaum einer Erläuterung. Im Gegensatz zu anderen GUIs, die ebenfalls Dd verwenden, bietet Kindd eine Anpassung der Blockgröße, was dem Schalter bs= beim Verwenden der Kommandozeilenvariante entspricht.

Abbildung 1: Die übersichtliche Oberfläche von Kindd erlaubt lediglich drei Eingaben, wobei sich auch die Blockgröße festlegen lässt.

Abbildung 1: Die übersichtliche Oberfläche von Kindd erlaubt lediglich drei Eingaben, wobei sich auch die Blockgröße festlegen lässt.

Mit der Option Block Size definieren Sie die Größe der Blöcke, die Kindd aus der Eingabedatei liest und auf das Ausgabegerät schreibt. Statt der voreingestellten 5 MByte sind 4 MByte für ein ISO-Image eine bessere Wahl: Das entspricht einem genauen Vielfachen der 4 KByte Blockgröße des Ext4-Dateisystems und sorgt für eine effiziente Lese- und Schreibgeschwindigkeit [6].

Das mittlere Auswahlfeld bietet einen Dateiauswahldialog für das zu kopierende Image an. Die untere Schaltfläche listet die angesteckten externen Geräte wie USB-Sticks, SD-Karten oder externe Festplatten zur Auswahl auf. Bei mehreren externen Datenspeichern am Rechner hilft im Zweifelsfall der Befehl sudo fdisk -l bei der Bestimmung des gewünschten Ziels.

Übertragung

Ein Klick auf die Schaltfläche Convert/Copy am unteren Rand der Anwendung startet nach einer weiteren Bestätigungsabfrage und der Eingabe des Root-Passworts das Kopieren. Kindd zeigt während des Vorgangs eine Fortschrittsanzeige an. Nach dem Übertragen des Images erscheint ein kleines Fenster, das per Congratulations Vollzug meldet (Abbildung 2).

Abbildung 2: Während des Schreibens zeigt die Oberfläche eine Fortschrittsanzeige, die erkennen lässt, welche Datenmenge bei welcher Geschwindigkeit bereits geschrieben wurde.

Abbildung 2: Während des Schreibens zeigt die Oberfläche eine Fortschrittsanzeige, die erkennen lässt, welche Datenmenge bei welcher Geschwindigkeit bereits geschrieben wurde.

Möchten Sie die Auswahl eines Images korrigieren, bringt ein Klick auf die Schaltfläche ISO oben links sie wieder in eine leere Auswahlmaske zurück. Der farbige Ball unten links führt Sie zum Konfigurationsdialog, in dem Sie das Aussehen der GUI im Bezug auf Theme sowie Art und Größe der Schrift beeinflussen. Hier sollten Sie die Blockgröße standardmäßig auf 4 MByte setzen und die Einstellungen speichern (Abbildung 3).

Abbildung 3: Der Einstellungsdialog bietet einige Optionen, um das Erscheinungsbild der Anwendung anzupassen, und erlaubt das Festlegen einer Standard-Blockgröße.

Abbildung 3: Der Einstellungsdialog bietet einige Optionen, um das Erscheinungsbild der Anwendung anzupassen, und erlaubt das Festlegen einer Standard-Blockgröße.

Fazit

Kindd wendet sich an Einsteiger, die grafische Oberflächen bevorzugen. Sofern man die Software aber nicht unter Arch Linux und dessen Derivaten als Binärpaket nutzt, tut man sich schwer, sie selbst zu bauen. Selbst mit Void Linux gelang uns das trotz Anleitung nicht ohne Anpassungen. Da die Software noch jung und ungeschliffen ist, fragten wir beim Entwickler an, wie es mit Kindd denn weitergehen soll [7]. Seine Antwort fiel allerdings eher vage aus.

Einmal installiert, hält Kindd zumindest, was es verspricht. Im schlimmsten Fall überschreiben Sie bei mehreren angesteckten USB-Sticks den falschen, niemals jedoch eine Systempartition, wie das beim Verwenden von Dd durchaus passieren kann. Die grafische Oberfläche des Tools finden wir nicht berauschend, woran auch die angebotenen Themes nichts ändern – im Gegenteil. Andererseits arbeitet man mit Kindd auch nicht andauernd oder über Stunden, sodass das letztlich kaum ins Gewicht fällt.

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 01/2020 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben