Mit live-build Tools eine Debian ISO erstellen


Vorwort zur den live-build Tools


Hallo zusammen und willkommen zum zweiten Teil der Serie "Anleitung wie man eine eigene LIVE ISO erstellt." In diesem Teil geht es darum wie man die live-build Tools installiert und benutzt.


Vorbereitung


  • Voraussetzungen: fortgeschrittener Linux Anwender, installierte VirtualBox
  • Architektur: amd64
  • Internetverbindung: ja
  • Schwierigkeitsgrad: komplex
  • Aufbau der Anleitung: einzelne Artikel
  • Form der Anleitung: zum Lesen

Installation der nötigen Tools


Bitte schalte deine Maschine ein und logge dich ein.

Einloggen in die Box

Melde dich als Super User an.

sudo su

Schaue erst mal ob es Updates gibt und installiere evtl. diese.

apt update && apt dist upgrade

Nun installiere die nötige Software

apt install live-build

Fertig! Nicht schwer oder? Nun konfiguriere dein System um dir das Leben etwas praktischer zu machen.

nano /etc/bash.bashrc

Suche nun mit den Pfeiltasten nach der Zeile die mit "# enable bash completion..." anfängt. Entferne erst ab der nächsten Zeile (also ab #if) die Hashtags (Rauten) damit die Datei so aussieht.

Bash Completion aktivieren

Speichere die Datei mit STRG+O und beende diese mit STRG+X. Ist das erledigt empfehle ich das System neu zu starten. Nun kannst du mit der TAB Taste deine Eingaben vervollständigen (z.B. wenn du apt inst tippst und nun auf TAB drückst).

reboot

Nach dem das System wie neu gestartet hat meldest du dich wieder an. Diesmal nicht als Super User.


Die Konfiguration deiner späteren LIVE-Umgebung


Als erstes erstellst du dir ein Ordner Namens "auto". Dieser wird dir später das Leben leichter machen.

mkdir auto

Jetzt erstellst du dein "Config Tree". In diesem Tree wird dein LIVE-System, der Installer und sonstige Einstellungen/Konfigurationen, die dein System ausmachen sollen, "gebaut".

lb config

An dieser Stelle empfiehlt es sich eine SSH-Verbindung zu der virtuellen Maschine aufzubauen. Damit hast du es leichter die Konfigurationen vorzunehmen. Öffne das Hauptfenster von VirtualBox und wähle deine Maschine aus. Klicke auf Netzwerk. Oben sollte es schon als "NAT" angeschlossen sein, wenn nicht, dann ändere dies. Erweitere den Slot "Erweitert" und gehe auf "Portweiterleitung". Mache folgende Einstellungen.

SSH Rules

Nun öffne dein Nautilus oder dein Dateimanager und verbinde dich per SFTP mit deiner Maschine indem du folgendes eingibst. Bei Nautilus gehst du auf "+ Andere Orte" und gibst die Daten unten ein.

Per SFTP verbinden

sftp://127.0.0.1:2222/

Wenn alles geklappt hat, dann melde dich als dein virtueller Benutzer an. Du kannst das Passwort speichern, wenn du magst. Bei Problemen mit der Verbindung, weil du zum Beispiel ein anderen Dateimanager benutzt kannst du entweder googeln oder schreibe mir eine Mail: support@diggenapps.de

Gehe zu dem Ort /home/$USER/ und du solltest nur drei Verzeichnisse sehen.

Benutzer Ordner

In der Maschine gibst du folgendes ein:

nano auto/build auto/clean auto/config

Speichere die Datei mit STRG+O und beende diese mit STRG+X. Wiederhole dies noch zwei weitere Male. Danach solltest du in deinem Dateimanager im Ordner "auto" drei leere Dateien haben. Öffne mit deinem Editor zuerst "build" und füge das da rein.

#!/bin/sh

set -e

lb build noauto "${@}" 2>&1 | tee build.log

Speichere und öffne als nächstes die Datei "clean". Füge das in diese Datei ein und speichere sie ebenfalls.

#!/bin/sh

set -e

lb clean noauto "${@}"

rm -f config/binary config/bootstrap config/chroot config/common config/source
rm -f config/control

rm -f build.log

Als nächstes öffnest du die wichtigste und die letzte Datei von den dreien und fügst dies hinzu.

#!/bin/sh

set -e

case "$(dpkg --print-architecture)" in
    amd64)
        _SOURCE="true"
        ;;

    i386)
        _SOURCE="false"
        ;;
esac

lb config noauto 
    --verbose 
    --ignore-system-defaults 
    --mode debian 
    --distribution stretch 
    --archive-areas "main contrib non-free" 
    --mirror-binary http://httpredir.debian.org/debian/ 
    --mirror-binary-security http://security.debian.org/ 
    --bootappend-live "boot=live components locales=de_DE.UTF-8 keyboard-layouts=de username=live" 
    --iso-application Meine LIVE ISO 
    --iso-preparer Mein cooler Spitzname - meineEMAIL@gmail.com 
    --iso-publisher Meine Firma - meineWebsite.de 
    --iso-volume Mein LINUX LIVE 
    --debian-installer live 
    --linux-packages "linux-image linux-headers" 
"${@}"

Schaue dir diese Datei genau an und passe die einzelnen Punkte nach deinen Bedürfnissen an. Sehr hilfreich kann an dieser Stelle dieser Befehl sein 😉 (wenn du fertig bist drücke einfach die Taste Q)

man lb_config

Nun, wenn du die "config" schön angepasst hast und weiter machen möchtest, würde ich dir empfehlen den "Tree" zu leeren. Damit wird alles in deinem "config Ordner" gelöscht. Aber, weil du nun die Dateien im "auto Ordner" hast ist das schon in Ordnung so.

sudo lb clean

Ja. Richtig. Diesmal mit sudo. Nun kann das Erstellen beginnen!

lb config && sudo lb build

Das Erstellen kann etwas dauern. Aber, weil du keine eigene Software hinzugefügt hast, sollte das eigentlich nicht zu lange dauern. Das Beste ist aber, dass dies beim nächsten Mal schneller gehen wird, weil die Pakete für "debootstrap" usw. nicht mehr geladen und gebaut werden müssen.

Der Build Prozess

Wenn der Prozess zu Ende gelaufen ist, erscheint in deinem Dateimanager die ISO! Falls du das nicht sehen kannst, dann drücke einfach auf F5 in deinem Ordner. Tada!

Nun kannst du, dank dem eingerichtetem SSH Server, die ISO einfach in dein echtes System kopieren und einfügen.

Falls du dich entscheidest den Prozess zu wiederholen, dann ist dies hier der richtige Befehl.

sudo lb clean && lb config && sudo lb build

Du musst vor jedem Re-Build erst den "Config Tree" säubern lassen.


Abschluss


Nachdem die ISO fertig gestellt worden ist, möchte ich mich hier erst mal verabschieden und eine kleine Vorschau auf den nächsten Teil machen. Also dann Tschüss! 😀

Als nächstes werde ich zeigen wie du deine ISO konfigurieren und ganz nach deinem Geschmack einzigartig machen kannst. Du wirst lernen wie du eigene Software und eigene Desktop Umgebung drauf packst und wie du die ganzen "Debian Brandings" beseitigen kannst.

Bei Fragen oder Problemen kannst du mir eine Mail schicken: support@diggenapps.de

Vielen Dank, dass du Interesse an dieser Serie hast und hoffentlich bis bald!