Naturgemäß bringt ein Standard-Debian viel unnötige Software mit. Mit Live-build erzeugen Sie ein maßgeschneidertes Image.
Debian und dessen Derivate gehören mit zu den am weitesten verbreiteten Distributionen. Auch die Publikumslieblinge Ubuntu und Linux Mint basieren darauf und könnten ohne Debian nicht existieren. Dennoch steht die Distribution in dem Ruf, ein System für Bastler oder zumindest fortgeschrittene Benutzer zu sein. Das liegt nicht zuletzt daran, dass das stabile Debian-Release – derzeit die Version 10 mit dem Codenamen “Buster” – auf neuerer Hardware meist nicht läuft, weil sie einen älteren Kernel nutzt.
Möchten Sie Debian auf einem neueren PC betreiben, müssen Sie statt “Stable” einen der Zweige “Testing” oder “Sid” installieren. Diese Versionen laufen zwar meist, eignen sich jedoch nur bedingt für Endanwender. Es kommt durchaus vor, dass Sie bei einem auf “Testing” oder “Sid” basierenden System ein bisschen basteln müssen, damit alles so läuft, wie Sie es wünschen. Zudem handelt es sich um Software, an der die Entwickler laufend weiterarbeiten, und so passiert es manchmal, dass ein entsprechendes System nach einem Upgrade den Dienst verweigert.
Das Kommandozeilenprogramm Live-build [1] erlaubt es, Debian “Stable” mit einem neuen Kernel auszustatten und es so auf neuerer Hardware zu installieren. Live-build vermag aber noch viel mehr: Sie erstellen damit maßgeschneiderte Betriebssysteme ganz nach Ihren Bedürfnissen.
So erlaubt es das Tool zum Beispiel, Debian mit einer Desktop-Umgebung zu installieren, für die es keinen offiziellen Spin gibt, ohne dabei einen anderen Desktop mitinstallieren zu müssen. Auf dieselbe Weise integrieren Sie unfreie Firmware-Pakete und andere Software leicht ins System oder entfernen Programme, die Sie nicht benötigen. Als besonders hilfreich erweist sich dieses Vorgehen, wenn Sie ein System mit bestimmter Software auf mehreren Rechnern installieren wollen oder Ihr System des Öfteren neu aufsetzen.
Installation
Um Live-build auszuführen, brauchen Sie ein lauffähiges Debian-System. Dafür eignet sich etwa eine virtuelle Maschine wie Virtualbox. Laden Sie also ein ISO-Image [1] herunter und installieren Sie das System.
Achten Sie beim Einrichten des virtuellen Systems darauf, dass die Größe der virtuellen Festplatte ausreicht. Da Live-build ganze Betriebssysteme erstellt, benötigen Sie sowohl genug Platz für das Endergebnis, eine manchmal mehrere Gigabyte große ISO-Datei, als auch für die Pakete, die das Programm zum Erstellen herunterlädt und zwischenspeichert.
Vielleicht möchten Sie auch ein wenig experimentieren und mehrere Systeme erstellen, ohne die anderen Dateien zu löschen. Als Mindestgröße für die virtuelle Festplatte empfehlen sich daher 32 GByte, besser eignen sich aber 64 oder mehr.
Bedienung
Installieren Sie nach dem Einrichten des Debian-Systems Live-build mit dem Befehl sudo apt install live-build. Das Tool kennt im Prinzip drei Befehle (siehe Tabelle “Grundlegende Kommandos”).
|
Kommando |
Bedeutung |
|---|---|
|
|
Anpassbare Konfigurationsdateien erstellen |
|
|
System zusammenstellen |
|
|
Von |
Fangen Sie immer damit an, ein Verzeichnis zu erstellen, in dem Live-build arbeitet (Listing 1, erste Zeile). Öffnen Sie anschließend ein Terminal und wechseln Sie in das gerade erstellte Verzeichnis (zweite Zeile). Dann erzeugen Sie die grundlegende Konfiguration (Zeile 3). Live-build beendet den Vorgang mit der Meldung aus den Zeilen 4 und 5. Ohne diese Dateien läuft der Build nicht. Verändern Sie sie zunächst nicht, sondern beginnen Sie direkt den Bau des Images (Zeile 6).
Listing 1
Ersten Build erstellen
$ mkdir livebuild $ cd livebuild $ lb config P: Creating config tree for a debian/stretch/amd64 system P: Symlinking hooks... sudo lb build
Nach Eingabe des Passworts fängt die Software an, ein minimales Live-System zusammenzustellen und es in eine ISO-Datei zu packen. Währenddessen gibt es zahlreiche verschiedene Meldungen aus und lädt diverse benötigte Pakete aus dem Internet nach (Abbildung 1). Das dauert je nach Art der Verbindung und der Hardware mindestens einige Minuten.

Abbildung 1: Das Kommando lb build gibt während der Arbeit zahlreiche Meldungen aus und lädt viele Pakete herunter.
Nach Abschluss des Vorgangs finden Sie im Arbeitsverzeichnis verschiedene neue Dateien, darunter ein ISO-Image namens live-image-amd64.hybrid.iso. Das wenige Hundert MByte kleine System können Sie gleich in einer virtuellen Maschine ausprobieren. Beim Start sehen Sie zunächst einen Bootscreen (Abbildung 2). Bestätigen Sie den Boot-Vorgang hier durch einen Druck auf die Eingabetaste. Daraufhin landen Sie in der Linux-Konsole.

Abbildung 2: Der Bootscreen eines mit Live-build erstellten Systems sieht anders aus als der Eröffnungsbildschirm der offiziellen Debian-Live-Spins.
Das so erstellte System bietet in der Regel noch wenig Möglichkeiten, da es praktisch keine Software enthält, nicht einmal einen X-Server, eine Desktop-Umgebung oder einen Installer. Bauen Sie das System unter Debian Buster, basiert es wahrscheinlich auf “Oldstable”, also Debian “Stretch”. Fahren Sie das virtuelle System daher mit sudo systemctl poweroff herunter und fangen Sie noch einmal von vorn an.
Erstellen Sie am besten in Ihrem Home-Verzeichnis ein neues Arbeitsverzeichnis und wechseln Sie dorthin. Damit Live-build ein Debian-“Buster”-System erstellt, rufen Sie dieses Mal lb config mit der Option --distribution buster auf. Beim Erstellen der Konfiguration sollten Sie grundsätzlich immer mit der Option --distribution die gewünschte Version angeben.
Der Desktop
Als Nächstes fügen Sie dem Live-System den Window-Manager AwesomeWM hinzu. Dazu öffnen Sie die Datei live.list.chroot aus dem Unterverzeichnis config/package-lists/ mit einem Texteditor. Die Datei enthält eine Liste mit den Namen von Paketen beziehungsweise Metapaketen, aus denen sich das spätere System zusammensetzt. Sie heißen live-boot, live-config und live-config-systemd.
Fügen Sie dieser Liste awesome und xorg hinzu und speichern Sie die Datei. Dadurch erstellt Live-build ein System, das mit dem Window-Manager Awesome startet. Es erfordert darüber hinaus neben awesome das Paket xorg, den der Desktop zum Starten benötigt.
Geben Sie dann im Terminal erneut sudo lb build ein, und testen Sie das auf diese Weise erstellte Image in einer virtuellen Maschine. Sie landen nun nach dem Booten des Systems direkt im Fenstermanager Awesome. Nun besitzt das System zwar eine minimale Umgebung, aber es bietet trotzdem kaum Möglichkeiten, da wichtige Software fehlt, wie ein Dateimanager, ein Webbrowser und ein Installer. Fahren Sie es daher mit [Super]+[Eingabe] herunter, öffnen Sie ein Terminal und geben Sie dort den Befehl sudo systemctl poweroff ein.
Statt Awesome richten Sie genauso einfach auch komplette Desktop-Umgebungen ein, da die Debian-Entwickler dafür schon Metapakete zusammengestellt haben. So richtet das Metapaket lxde-core ein minimales LXDE ein. Analog fügen Sie dem Live-System bei Bedarf andere Desktop-Umgebungen beziehungsweise Window-Manager hinzu (Abbildung 3).

Abbildung 3: Mithilfe von Live-build erstellen Sie unter anderem Debian-Systeme mit ausgefallenen Desktop-Umgebungen, ohne eine andere grafische Oberfläche einzubauen.
Backport-Kernel
Es gibt mindestens zwei Möglichkeiten, einem mit Live-build erstellten Debian “Stable” einen neueren Kernel hinzuzufügen. Die einfachere Methode besteht darin, das Kernel-Paket herunterzuladen und es ins Verzeichnis config/packages.chroot/ zu kopieren.
Den neuesten Backport-Kernel finden Sie auf dem Server des Projekts [2]. Dort suchen Sie nach Paketen, die mit linux-image beginnen und mit -amd64 enden. Beim Verfassen des Artikels hieß der neueste rückportierte Kernel für Debian “Buster” linux-image-5.10.0-0.bpo.3-amd64.
Nach dem Kopieren des Pakets in den Ordner config/packages.chroot/ wechseln Sie wieder ins Arbeitsverzeichnis von Live-build und geben dort den Befehl sudo lb clean ein, was die früher erstellten Dateien löscht. Führen Sie wieder lb config und lb build mit den passenden Optionen aus, um ein neues System zu erstellen. Das enthält nun zwei Kernel; welchen davon Sie verwenden möchten, wählen Sie mit den Pfeiltasten aus.
Die elegantere Möglichkeit besteht darin, den Kernel aus dem regulären Repository durch einen aus dem Backports-Repository zu ersetzen. Dazu geben Sie Live-build zuerst das Backports-Repository bekannt. Dann weisen Sie das Tool mit der Option --linux-packages an, den Kernel von dort zu verwenden.
Erstellen Sie dazu eine Datei mit dem Namen live.list.chroot im Unterverzeichnis config/archives/. Öffnen Sie die Datei mit einem Texteditor, und tragen Sie dort die Adresse des “Buster”-Backport-Repositories ein (Listing 2).
Listing 2
Backports-Repository
deb http://deb.debian.org/debian buster-backports main contrib non-free deb-src http://deb.debian.org/debian buster-backports main contrib non-free
Wechseln Sie danach ins Arbeitsverzeichnis und bereinigen Sie die Daten (Listing 3, erste Zeile). Konfigurieren Sie dann den Build mit der Befehlszeile aus der zweiten Zeile. Beim Namen des Kernel-Pakets dürfen Sie die Endung amd64 weglassen: Das führt nur zu einer Fehlermeldung, da Live-build standardmäßig ein AMD64-System baut. Erstellen Sie dann mit dem Befehl aus der letzten Zeile das System.
Listing 3
Build mit Backports erstellen
$ lb clean $ lb config --distribution buster --linux-packages linux-image-5.10.0-0.bpo.3 $ sudo lb build
Nach dem Erstellen des ISO-Images testen Sie, ob das System auf Ihrer Hardware läuft. Kopieren Sie die Datei mit einem Tool wie Balena Etcher auf einen USB-Stick und versuchen Sie, Debian von dort aus zu starten (Abbildung 4).

Abbildung 4: Das Einbinden eines neueren Kernels aus dem Backports-Repository erlaubt es, Debian “Stable” auf neuer Hardware zu starten.
Unfreie Firmware
Zwar startet Debian “Buster” nun auch auf einem neuen PC, jedoch ohne eine Netzwerkverbindung. Einerseits fehlt die dafür nötige Software im System, andererseits braucht die Netzwerkkarte eventuell eine Firmware, die sich nicht im Haupt-Repository von Debian befindet.
Welche Firmware-Pakete die Hardware benötigt, finden Sie mithilfe von Google schnell heraus. Das Testsystem etwa verwendet ein WLAN-Modul von Intel, das das Paket firmware-iwlwifi erfordert. Sie finden unfreie Firmware-Pakete [2] in den einschlägigen Repositories [3]; die Dateinamen beginnen alle mit firmware.
Der einfachste Weg besteht darin, das Paket ins Verzeichnis /config/packages.chroot/ herunterzuladen. Achten Sie aber darauf, dass Sie das Firmware-Paket aus dem “Buster”-Backports-Repository verwenden, wenn Ihr System den Backports-Kernel verwendet. Alternativ setzen Sie in der Datei live.list.chroot in config/package-lists/ den Namen des Pakets auf die Liste.
Wenn Sie ein System mit dem Kernel aus dem “Buster”-Backports-Repository erstellen, führen Sie anschließend lb config und lb build aus. Live-build lädt damit automatisch das Paket herunter. Die Archive contrib und non-free mit der unfreien Firmware haben Sie ja bereits mit dem Eintragen des Backports-Repos in die Liste freigeschaltet. Wenn Sie jedoch ein “Buster” mit dem Standard-Kernel bauen, müssen Sie beim Konfigurieren die unfreien Bereiche des Haupt-Repositorys mit angeben. Das gelingt mit der Option --archive-areas (Listing 4).
Listing 4
Unfreie Bereiche einbinden
$ lb config --distribution buster --archive-areas "main contrib non-free"
Setzen Sie anschließend auch das Paket nm-tray auf die Liste live.list.chroot in config/package-lists/. Das Programm bietet eine grafische Oberfläche für den Network-Manager, mit dessen Hilfe Sie die Verbindung herstellen. Das Paket nm-tray hängt von network-manager ab, weswegen Live-build es gleich mitinstalliert. Um zu testen, ob die Verbindung funktioniert, tragen Sie bei dieser Gelegenheit einen Webbrowser wie Chromium in die Liste ein.
Erstellen Sie das neue System, kopieren Sie es auf einen USB-Stick und starten Sie es. Rufen Sie unter Awesome mit [Super]+[R] den Ausführen-Dialog auf, geben Sie nm-tray ein, und bestätigen Sie den Befehl mit einem Druck auf die Eingabetaste. Daraufhin erscheint rechts oben ein kleines Netzwerksymbol. Klicken Sie darauf und wählen Sie das Netzwerk aus, mit dem Sie sich verbinden möchten.
Software und Konfiguration
Um das System sinnvoll zu nutzen, fügen Sie der Liste weitere Software hinzu. Im Test kamen die Pakete pcmanfm, lxrandr, xfce4-power-manager, lxappearance, nano, mousepad, mutt, pulseaudio, pavucontrol und lightdm zum Einsatz.
Es gibt viele hervorragende Programme, die sich nicht im Debian-Repository befinden, für die es aber im Netz passende DEB-Pakete gibt. Dazu zählen etwa das Archivprogramm Peazip und der Bildbetracher Xnview. Letzterer fehlt im Repository, weil es sich nicht um Open-Source-Software handelt. Kopieren Sie diese Pakete ins Verzeichnis config/packages.chroot/.
Live-build erlaubt es, dem System auch Programme in Form von AppImages hinzufzufügen. Laden Sie diese herunter, erstellen Sie das Verzeichnis config/includes.chroot/etc/skel/ und kopieren Sie sie dorthin. Die AppImages befinden sich auf dem neuen System zunächst in /etc/skel/, die Software kopiert sie von dort aus automatisch ins Home-Verzeichnis des Users.
Auch Konfigurationsdateien für die Desktop-Umgebung beziehungsweise den Window-Manager landen in config/includes.chroot/etc/skel/. Bei Awesome kopieren Sie den Inhalt von config/awesome/ nach config/includes.chroot/etc/skel/.config/awesome/.
Desktop-Hintergrundbilder liegen in der Regel im Verzeichnis /usr/share/wallpapers/. Um das im geplanten System zu erreichen, tragen Sie den Dateinamen des Bilds einschließlich des vollständigen Dateipfads in config/awesome/themes/default/theme.lua ein und kopieren das Bild nach config/includes.chroot/usr/share/wallpapers/.
Für die Konfiguration der Desktop-Umgebung erstellen Sie am einfachsten ein neues Benutzerkonto, in das Sie Ihre bestehende Desktop-Umgebung und den gesamten Inhalt des Home-Verzeichnisses (einschließlich der versteckten Dateien) nach /config/includes.chroot/etc/skel/ kopieren.
Unter Debian “Bullseye”/”Sid” läuft eine neuere Version von Live-build. Diese verwendet anstelle des Verzeichnisses includes.chroot die Ordner includes.chroot_after_packages und includes.chroot_before_packages. Kopieren Sie die genannten Dateien bei “Bullseye”/”Sid” in includes.chroot_after_packages.
Calamares-Installer
Um das neue System fest einzurichten, benötigen Sie einen Installer. Bei Desktop-Systemen eignet sich der distributionsunabhängige grafische Installer Calamares am besten; er kommt auch in den offiziellen Live-Spins von Debian zum Einsatz. Setzen Sie daher das Paket calamares sowie calamares-settings-debian (die Konfigurationsdateien) auf die Liste der zu installierenden Pakete.
Darüber hinaus nehmen Sie das Paket sudo mit auf die Liste. Wenn Sie es nicht explizit installieren, beendet Calamares den Installationsprozess nicht erfolgreich und bricht gegen Ende der Installation mit einer Fehlermeldung ab. Vermutlich handelt es sich dabei um einen Bug in Calamares oder einer Konfigurationsdatei.
Außerdem sollten Sie eine der Konfigurationsdateien von Calamares bearbeiten. Laden Sie dazu aus dem Netz eine entsprechende Datei herunter [4]. Öffnen Sie packages.conf, das eine Liste von Paketen enthält, die Calamares nach der Installation des Systems entfernt. Setzen Sie Calamares mit - 'calamares' ebenfalls auf diese Liste, da Sie das Programm nach der Installation nicht mehr benötigen. Speichern Sie dann die Datei und kopieren Sie sie ins Verzeichnis config/includes.chroot/etc/calamares/modules/.
Setzen Sie gparted und dosfstools auf die Liste der zu installierenden Pakete, um den Massenspeicher vor dem Aufsetzen des Systems partitionieren zu können. Um das System zusammenzustellen, führen Sie danach lb build aus.
Es kommt vor, dass Live-build das Erstellen des Systems vorzeitig abbricht – meist, weil es Pakete nicht findet. Geben Sie in diesem Fall lb clean ein und versuchen Sie es nochmal. Häufig hilft es, ein neues, sauberes Arbeitsverzeichnis zu erstellen und von vorn zu beginnen. Bricht Live-build den Vorgang erneut ab, hilft ein Blick in die Fehlermeldungen.
Starten Sie zum Schluss das Live-System, und rufen Sie Calamares mit dem Befehl sudo calamares auf. Eine Installation setzt eine Verbindung mit dem Internet voraus, aus dem die Software zusätzliche Pakete nachlädt.
Fazit
Das mächtige Kommandozeilentool Live-build erlaubt es nicht nur, benutzerdefinierte Debian-Spins zu erstellen, sondern ließe sich theoretisch auch zum Bau einer eigenen Distribution verwenden. Die grundlegende Bedienung des Programms gestaltet sich zwar verhältnismäßig einfach, jedoch weist die Dokumentation [5] einige Lücken auf.
Aufbauend auf einem minimalen Grundsystem erstellt das Werkzeug ein schlankes Live-System, das Sie mithilfe des Calamares-Installers in eine permanente Installation umwandeln. So erstellen Sie in wenigen Schritten eine maßgeschneiderte Variante ohne die vielen unnötigen Programme des Standardsystems. (tle/jlu)
Glossar
-
[Super]
-
1978 mit dem Space-Cadet-Keyboard der Lisp Machine eingeführte Modifikatortaste, 1984 für das X Window System übernommen. Sie ist auf heutigen Tastaturen meist mit einem Windows-Logo versehen und wird deshalb oft “Windows-Taste” genannt.
Infos
-
Live-Images: https://cdimage.debian.org/debian-cd/current-live/amd64/iso-hybrid/
-
Backports-Kernel: https://packages.debian.org/buster-backports/allpackages
-
Standard-Repository: https://packages.debian.org/buster/all/allpackages
-
Calamares-Konfiguration: https://salsa.debian.org/live-team/calamares-settings-debian/-/blob/master/calamares/modules/packages.conf
-
Offizielle Dokumentation: https://live-team.pages.debian.net/live-manual/html/live-manual/index.en.html






Weniger Werbung auf eurer Seite würde es einem deutlich erleichtern diesen Artikel auch zu lesen ?????
Schon mal über einen Ad-Block nachgedacht?