Weiterlesen mit NEWS. Jetzt testen.
Lesezeit ca. 7 Min.

Arch-Linux-Live-System im Eigenbau: ISO-Bäckerei


LinuxUser - epaper ⋅ Ausgabe 10/2019 vom 19.09.2019

Aus einem Arch-Linux-System heraus bauen Sie ein Live-Linux nach Ihren Vorstellungen, samt grafischer Oberfläche und praktischer Tools.


Artikelbild für den Artikel "Arch-Linux-Live-System im Eigenbau: ISO-Bäckerei" aus der Ausgabe 10/2019 von LinuxUser. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: LinuxUser, Ausgabe 10/2019

© Evgeny Atamanenko, 123RF

Arch-Linux-Installationen entstehen mithilfe einer Live-Disk, die sich gleichzeitig als Rescue-Medium nutzen lässt. Doch getreu dem Motto „Keep it simple, stupid“ (KISS) verzichtet das Arch-Installationsmedium zugunsten der Flexibilität auf eine grafische Oberfläche. Mit Gparted 1 geht das Partitionieren der Festplatten aber intuitiver von der Hand. Auch die Gefahr, per „fat finger“ bestehende Daten ins Jenseits zu befördern, ist in diesem ...

Weiterlesen
epaper-Einzelheft 5,99€
NEWS 30 Tage gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von LinuxUser. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1000 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 10/2019 von Manjaro im Umbruch: Manjaro Linux düpiert mit FreeOffice seine Community: Free statt Libre?. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Manjaro im Umbruch: Manjaro Linux düpiert mit FreeOffice seine Community: Free statt Libre?
Titelbild der Ausgabe 10/2019 von Konfigurationen und Pakete über eigene Metapakete verwalten: Copy & Paste. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Konfigurationen und Pakete über eigene Metapakete verwalten: Copy & Paste
Titelbild der Ausgabe 10/2019 von Arch-Linux-System verschlüsseln: Sichtschutz. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Arch-Linux-System verschlüsseln: Sichtschutz
Titelbild der Ausgabe 10/2019 von Arch-Linux-Derivate für Einsteiger: Erste Schritte. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Arch-Linux-Derivate für Einsteiger: Erste Schritte
Titelbild der Ausgabe 10/2019 von Pencil2D: Zeichnungen animieren mit Pencil2D: Bewegte Kunst. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Pencil2D: Zeichnungen animieren mit Pencil2D: Bewegte Kunst
Titelbild der Ausgabe 10/2019 von Foliate präsentiert sich als moderner E-Book-Reader mit Vorlesefunktion: Der Vorleser. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Foliate präsentiert sich als moderner E-Book-Reader mit Vorlesefunktion: Der Vorleser
Vorheriger Artikel
Manjaro im Umbruch: Manjaro Linux düpiert mit FreeOffice sei…
aus dieser Ausgabe
Nächster Artikel Konfigurationen und Pakete über eigene Metapakete verwalten:…
aus dieser Ausgabe

Arch-Linux-Installationen entstehen mithilfe einer Live-Disk, die sich gleichzeitig als Rescue-Medium nutzen lässt. Doch getreu dem Motto „Keep it simple, stupid“ (KISS) verzichtet das Arch-Installationsmedium zugunsten der Flexibilität auf eine grafische Oberfläche. Mit Gparted 1 geht das Partitionieren der Festplatten aber intuitiver von der Hand. Auch die Gefahr, per „fat finger“ bestehende Daten ins Jenseits zu befördern, ist in diesem übersichtlichen Programm geringer als beim Tippen der Partitionsnamen.

Arch Linux wäre nicht Arch Linux, wenn es nicht auch die zur Distibutionspflege genutzten Tools wie Archiso, das Skript zum Erstellen der offiziellen Images, veröffentlichen (gleichnamiges Paket imextra -Repository) und vor allem im Wiki ausführlich dokumentieren würde. So kann sich jeder seine eigenen Live-Medien zusammenstellen. Arch-typisch ist auch, dass der Vorgang auf recht simplen Bash-Skripten beruht, statt auf einer komplizierten Infrastruktur wie beim OpenSuse-Live-Image-Tool Kiwi.

Archiso lässt sich nicht nur für Installationsmedien mit ein paar zusätzlichen Paketen nutzen: Das Projekt DidJiX baut mit seiner Hilfe zum Beispiel eine DJ-Arbeitsumgebung als Live-Disk 2. Das Werkzeug erlaubt, beliebige Arch-Linux- Pakete in ein ISO-Image zu packen – auch selbst gebaute. Ebenso mühelos bauen Sie eigene Konfigurationsdateien ein, sei es systemweit in /etc oder im Home. Administrative Befehle wie systemctl enable sshd zum Aktivieren des SSH-Diensts schreiben Sie einfach in ein bei jedem (Neu-)Bau des Images ablaufendes Skript.

Wahrscheinlich fragen Sie sich, warum Sie stattdessen nicht einfach eine normale Arch-Linux-Installation auf einem USBStick einrichten sollten. Das gelingt zwar problemlos, doch es gibt ein paar Gründe, warum das Live-System die bessere Lösung sein kann: Normale Linux-Systeme schreiben große Datenmengen auf das Speichermedium, zumindest, wenn Sie das nicht durch den Einsatz von Tmpfs abmildern. Das Live-System dagegen nutzt von Haus aus das Overlay-Filesystem, ein Read-only-Dateisystem und ein im RAM liegendes Tmpfs.

1Arch Linux verzichtet auf eine grafische Installationsumgebung. Viele Anwender wünschen sich jedoch schon alleine für das Partitionieren der Festplatte Tools wie hier Gparted.


Praktisches Sandwich

USB-Sticks enthalten in aller Regel preiswerte Flash-Chips, die sich nur bedingt für den Dauerbetrieb als Root-Dateisystem eignen. Aus diesem Grund empfiehlt es sich, länger laufende Systeme auf einem ausgewachsenen Datenträger einzurichten, wie etwa einer Festplatte oder einer SSD. Bei ausschließlich lesbaren CD-ROMs oder DVDs stellt sich die Frage gar nicht erst.

Das Live-System greift nur lesend auf den Stick zu: Alle Schreibvorgänge landen im Arbeitsspeicher – das begrenzt allerdings die maximale Datenmenge. Dafür startet das System beim nächsten Booten zuverlässig wieder genauso, wie Sie es bei der Erstellung des Abbilds vorbereitet haben, was beispielsweise dem DJ in DidJiX seine gewohnte Fensteranordnung garantiert.

Freuen wird es ihn auch, dass er das System nicht beschädigt, wenn er am Ende einer langen Disco-Nacht einfach den Stecker zieht. Auch für den Raspberry Pi, der zumindest in der Plus-Version leicht von gewöhnlichen USB-Mass- Storage-Geräten bootet, wäre diese Robustheit oft wünschenswert.

Es ist klar, dass sich ein Read-only-System nicht mit pacman ‑Syu aktuell halten lässt. Doch es kostet nur einen Aufruf des Build-Skripts, um mit einer vorbereiteten Konfiguration ein neues ISO mit aktuellen Paketen zu backen. Mithilfe von Dd geht es sogar schneller, es auf mehrere USB-Sticks zu verteilen, als jede Installation gesondert zu aktualisieren.

Zum Konfigurieren der Live-Umgebung genügen lediglich drei Schritte: Editieren der Liste der installierten Pakete, Anlegen eines skel/-Ordners mit den (Konfigurations-)Dateien im Home-Verzeichnis und das Eintragen der Shell-Befehle, die beim Starten ablaufen sollen, in einem Skript.

Im Standard-Repository

Als ersten Schritt zu Ihrem eigenen Live- Medium installieren Sie zunächst im Arch-Linux-Arbeitssystem das Paketarchiso . Es enthält zwei vorkonfigurierte Profile mit den Namen baseline und releng. Baseline liefert ein minimales System, das sich nicht wie hier beschrieben modifizieren lässt. Die beiden Profile stehen als Verzeichnisse unter /usr/ share/archiso/configs bereit.

Releng kommt unmodifiziert zum Erzeugen der offiziellen Installationsmedien zum Einsatz. Standardmäßig findet beim Start ein Root-Login statt, was für die Installations- und Rettungsdisk passt.

2Das Projekt DidJiX baut auf der Basis von Archiso eine DJ-Umgebung, die – unabhängig vom Zustand beim Herunterfahren – jedes Mal mit der gleichen Fensteranordnung startet.


3Ohne weitere Konfiguration startet XFCE zwar beim Booten, nervt aber mangels vorheriger Konfiguration mit einer Frage nach der Default-Einstellung.


Bei Bedarf lässt sich das Auto-Login abschalten oder in ein normales Benutzer- Login umwandeln.

Als simples Beispiel wollen wir eine erweiterte Installations-Disk mit GParted zur Festplattenpartitionierung erzeugen. Das System soll automatisch eine grafische Umgebung mit einem GParted- und einem Konsolenfenster starten, und zwar als Root – auf einem Read-only-System ist das akzeptabel.

Paketsammlung

Kopieren Sie dazu den Inhalt des Verzeichnisses /usr/share/archiso/configs/ releng in einen Arbeitsordner. Da Sie die Disk-Images als Root erstellen, wählen Sie am besten ein Verzeichnis außerhalb der Homes, damit beispielsweise Ihr Backup nicht über fehlende Zugriffsrechte stolpert. Dann fügen Sie der Datei packages.x86_64 im releng-Ordner die Einträge aus Listing 1 hinzu, jeweils in einer eigenen Zeile. Beixorg ,xorg-drivers undxfce4 handelt es sich um Paketgruppen, die neben der X-Server-Umgebung auch alle verfügbaren Video-Treiber sowie den Grundbestand der Desktop-Umgebung XFCE installieren.
Die Liste mit Paketnamen dient beim Erstellen des Images als Eingabe für einen Aufruf des Paketmanagers Pacman. Abhängigkeiten wählt der Paketmanager also automatisch, Paketgruppen funktionieren wie gewohnt. Wegen der Aufrufoption ‑‑noconfirm im Build-Skript kommt bei Letzteren immer die Standardvorauswahl zum Zug.

Bei Bedarf können Sie eine ganz eigene Paketsammlung zusammenstellen, statt wie im Beispiel nur einige Pakete hinzuzufügen. Die Pakete der Gruppebase installiert ein vorausgehender Pacman- Aufruf unabhängig von der Liste. Alle Änderungen im releng-Ordner müssen Sie als Root vornehmen, sonst kann es laut Wiki beim Erstellen der Abbilddatei zu falschen Dateirechten kommen.

Autostart

Die Installation der grafischen Umgebung allein startet sie noch nicht. Um XFCE direkt beim (Auto-)Login hochzufahren, tragen Sie den Befehl startxfce4 in eine Shell-Profil-Datei ein. XFCE aktiviert dabei auch den X-Server, falls er noch nicht läuft.

Die Installationsdisk nutzt die Z-Shell. Ein Login-Skript.zlogin für diese Shell liegt im Verzeichnis releng/airootfs/ root/. Dort ist in der ersten Zeile bereits ein Skript eingetragen. Fügen Sie dieser Datei am Ende den Aufruf exec startxfce4 hinzu. Nun startet XFCE beim Booten der Live-Umgebung ohne jegliche Benutzerinteraktion 3.

Der XFCE-Desktop hat jedoch die – hier unangenehme – Eigenart, beim ersten Start zu fragen, ob er eine leere Desktop- Leiste anlegen oder die Standardkonfiguration übernehmen soll. Um diese Frage zu unterdrücken, müssen die XFCE-spezi- fischen Konfigurationsdateien im Home- Verzeichnis vorliegen, in unserem Fall also in /root. Die Konfigurationsdateien für normale Benutzer gehören dann in das Verzeichnis releng/airootfs/root/ etc/skel, das Sie erst anlegen müssten.

Wenn Sie XFCE auch auf Ihrem Arbeitsrechner nutzen, kopieren Sie die Ordner.config/xfce4 und./config/Thunar aus Ihrem Home ins Verzeichnis releng/ airootfs/root/. Ansonsten bietet es sich an, das Live-Medium jetzt erst einmal zu erstellen und zum Testen in einer virtuellen Maschine zu starten, egal, ob KVM oder VirtualBox.

Dazu genügt es, aus dem Ordner releng heraus./build.sh ‑v aufzurufen. Dank der Option ‑v sehen Sie, womit sich das Skript gerade beschäftigt: Zuerst installiert es die Paketgruppebase in ein Chroot, dann die Pakete aus packages.x86_64. Nach der Installation ruft es das Skript releng/airootfs/root/customize_ airootfs.sh auf. Wenn Sie es in einem Editor betrachten, sehen Sie, dass es einige Konfigurationsdateien verändert, locale‑gen aufruft sowie ein Systemd- Unit aktiviert und das Systemd-Default- Target auf multi‑user setzt. Daran lässt sich erkennen, wozu das Skript gedacht ist: Jede administrative Aufgabe, die Sie hier eintragen, findet im Chroot statt, aus dem build.sh später das Root erzeugt.

Aktivieren Sie hier eine Systemd-Unit, dann startet sie beim Booten der Live- Umgebung. Legen Sie hier mit useradd ‑mName einen Benutzer an, dann existiert er im Live-System und besitzt ein Home-Verzeichnis mit den Dateien aus /etc/ skel. Auch das zugehörige Passwort können Sie hier setzen.

Möchten Sie einen Vorgang während des Bootens der Live-Umgebung starten, dann legen Sie in releng/airootfs/etc/ systemd/system eine entsprechende Systemd-Unit an und aktivieren sie im Skript mit systemctl enable meine‑unit.service.

Backautomat

Dass Shell-Profil-Dateien in Zusammenhang mit dem Auto-Login ebenso zum automatischen Starten von ausführbaren Dateien taugen wie eine Systemd-Unit, sehen Sie, sobald Sie das vom Build- Skript erstellte ISO-Image booten. Bevor es fertig vorliegt, muss build.sh jedoch noch ein komprimiertes SquashFS-Dateisystem erstellen sowie das Ergebnis in einem ISO-Image verewigen. Letzteres finden Sie dann, sofern alles geklappt hat, im Ordner releng/out.

Nach dem Start des neuen Live-Systems schließen Sie erst einmal die MeldungWelcome to the first start of the panel . Anschließend erstellt XFCE im Verzeichnis.config einige Konfigurationsdaten. Starten Sie dann den Settings-Manager, und öffnen Sie das ModulSession and Startup . Im ReiterApplication Autostart fügen Sie xfce4‑terminal sowie gparted hinzu und melden sich ab. Das Auto-Login meldet Sie sofort wieder an, GParted und das Terminal starten 4. Kopieren Sie jetzt das Verzeichnis.config/ aus dem Root per Scp nach releng/airootfs/ root/, um dasselbe Verhalten in die Live-Umgebung zu übertragen. Um das ISO-Image erneut zu erstellen, genügt es allerdings nun nicht, lediglich erneut das build.sh-Skript aufzurufen. Um das ISO zuverlässig in allen Szenarien neu zu bauen, müssen Sie vorab das Verzeichnis releng/work löschen. Das zwingt Archiso zwar, erneut alle Pakete ins Chroot zu installieren, doch der in der Regel einige Minuten dauernde Vorgang kommt ohne Benutzerinteraktion aus. Auch benennen Sie am besten das bestehende ISO in releng/out/ um.

Fazit

Der Live-System-Generator Archiso bietet drei Ansatzpunkte für Anpassungen, nämlich die Paketliste packages.x86_64 sowie die systemweiten und Benutzer- Konfigurationsdateien in /etc oder /etc/ skel/. In das Skript customize_airootfs.sh tragen Sie dieselben Shell-Befehle ein, die Sie zur Administration auch auf Ihrem lokalen System ausführen würden, wie etwa useradd zum Hinzufügen eines Benutzers oder systemctl enableDienst zum Aktivieren eines Diensts.

Um die Konfigurationsdateien für eine bestimmte Konstellation in einer grafischen Umgebung zusammenzustellen, starten Sie diese (Desktop-)Umgebung am einfachsten auf Ihrem Arbeitsrechner oder in einer virtuellen Maschine. Nun brauchen Sie nur noch die Unterverzeichnisse.config und eventuell share in den skel-Ordner der Archiso-Umgebung zu kopieren, um sie in das Live-System zu übertragen.

Live-Systeme zeichnen sich dadurch aus, dass sie immer wieder exakt gleich hochfahren, egal, wie (und ob) Sie sie heruntergefahren haben. Handlich verpackt in eine ISO-Datei, lassen sie sich schnell auf mehrere Speichermedien verteilen. Images mit aufgefrischten Paketen, aber derselben Konfiguration zu erstellen, kostet Sie nur den Aufruf des Build-Skripts und einige Minuten Wartezeit. (cla) ■

4Nach dem Integrieren des Ordners .config/in die Live-Umgebung startet XFCE unterbrechungsfrei und öffnet auch gleich per Autostart das XFCE-Terminal und Gparted.

README

Live-Systeme auf DVD oder USB-Stick starten stets im bei der Erstellung eingefrorenen Zustand und schonen USB-Sticks durch den Verzicht auf Schreibzugriffe. Mit Archiso gelingt es mit wenig Aufwand, ein Live-System zusammenzustellen und immer wieder mit aktuellen Paketen zu bauen.

Listing 1

01 $ git clone git://anongit.kde.org/trojita
02 $ cd trojita
03 $ mkdir build
04 $ cd build
05 $ cmake …

Weitere Infos und interessante Links
www.linux‑user.de/qr/42764