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...