Eigene (Arch) Linux ISO erstellen || Linux Distribution selbst erstellen

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ต.ค. 2024
  • Bei Fragen bin ich auch auf meinem Discord anzutreffen: / discord
    Gleich vorab, nein ich möchte keinen Stein in Rollen bringen, der eine Flut neuer Distributionen ins Netz bringt. Aber für alle, welche schon immer mal wissen wollten, wie man seine eigene Linux ISO erstellt, mit genau den Programmen die man möchte - beispielsweise eine Admin ISO mit nützlichen Tools, überall griffbereit und vorkonfiguriert - oder einfach ein Lehrvideo zum Verständnis um den Grundaufbau einer LIVE CD - dann seid ihr hier genau richtig.
    Für das Ganze braucht es eine Arch oder Arch-basierte Installation und das Paket pacman -S archiso
    Kopie des Arbeitsverzeichnisses ins Home-Verzeichnis:
    cp -r /usr/share/archiso/configs/releng/ archlive
    wobei releng der regulären Arch ISO entspricht, welche monatlich erscheint.
    Hinzufügen von Programmen:
    packages.x86_64 bearbeiten im Arbeitsverzeichnis /archlive
    Nutzer, Passwort & Gruppe: im Arbeitsverzeichnis /airootfs/etc/
    Die Datei passwd um NUTZER:x:1000:1000::/home/NUTZER:/usr/bin/zsh ergänzen
    Anschließend einen Passwort-Hash in der Konsole erstellen:
    openssl passwd -6 PASSWORT
    Die Ausgabe anschließend in die Datei shadow einfügen
    NUTZER:PASSWORTHASH:14871::::::
    Die Datei group erstellen und ausfüllen:
    root:x:0:root
    adm:x:4:NUTZER
    wheel:x:10:NUTZER
    uucp:x:14:NUTZER
    NUTZER:x:1000:
    Die Datei gshadow erstellen:
    root:!*::root
    NUTZER:!*::
    Autologin:
    Autostart des Displaymanagers durch Verknüpfung erstellen (derselbe sollte auch auf dem eigenen Rechner installiert sein, sddm in dem Fall)
    ln -s /usr/lib/systemd/system/sddm.service archlive/airootfs/etc/systemd/system/display-manager.service
    Anschließend noch einen Ordner unter /airootfs/etc erstellen namens sddm.conf.d und in diesem die Datei autologin.conf erzeugen mit dem Inhalt:
    [Autologin]
    User=Nutzer
    Session=xfce (in meinem Fall)
    Sudo und Polkit:
    Für sudo Rechte ist der Benutzer bei der Erstellung bereits in die Gruppe wheel gekommen - Diese aktivieren wir nun durch anlegen des Ordners /airootfs/etc/sudoers.d und der Datei g_wheel mit dem Inhalt:
    %wheel ALL=(ALL) NOPASSWD: ALL
    Für Polkit wird die folgende Datei in folgendem Unterordner erstellt:
    /airootfs/etc/polkit-1/rules.d/49-nopasswd_global.rules und folgendes hinein kopiert:
    /* Allow members of the wheel group to execute any actions
    without password authentication, similar to "sudo NOPASSWD:"
    */
    polkit.addRule(function(action, subject) {
    if (subject.isInGroup("wheel")) {
    return polkit.Result.YES;
    }
    });
    Da nun alles notwendige angelegt wurde, müssen wir nur noch die erstellten Dateien mit den richtigen Rechten versehen, dazu die profiledef.sh im Arbeitsordner bearbeiten und folgendes ergänzen:
    ["/etc/shadow"]="0:0:400"
    ["/etc/gshadow"]="0:0:400"
    ["/etc/sudoers.d/g_wheel"]="0:0:644"
    ["/etc/polkit-1/rules.d/49-nopasswd_global.rules"]="0:0:644"
    Somit wäre alles erledigt und wir können die ISO erstellen. Dazu einfach im Terminal in den Arbeitsordner navigieren und den Befehl ausführen
    sudo mkarchiso -v /home/NUTZER/archlive (oder je nachdem wo man seinen Arbeitsordner angelegt hat)
    Alles weitere erfolgt automatisch und die fertige ISO landet im Ordner "out"
    Hinweis: Sollte es Probleme beim erstellen der ISO geben, kann es helfen sein eigenes System auf den neusten Stand zu bringen (sudo pacman -Syu)
    Daher ist auch eine aktive Internetverbindung für die Erstellung der ISO nötig.
    WICHTIGER HINWEIS:
    Sollte man die ISO erneut erstellen wollen, müsste der "work" Ordner gelöscht werden. Sollte das vorherige erstellen aber fehlerhaft abgebrochen worden sein und irgendwelche Laufwerke eingebunden (zum Beispiel weil eigene Pakete eingebracht wurden) - so sollte man erst alles umount machen und nicht einfach den Ordner löschen - sonst wird das Laufwerk mit gelöscht. Dazu hier der Hinweis wiki.archlinux...

ความคิดเห็น • 14