Archiso: Unterschied zwischen den Versionen
Tuxnix (Diskussion | Beiträge) Korrekturen |
KKeine Bearbeitungszusammenfassung |
||
Zeile 19: | Zeile 19: | ||
sudo ./build.sh -v | sudo ./build.sh -v | ||
Das fertige | Das fertige Image befindet sich im Ordner /out und kann anschließend wie im Kapitel [https://wiki.archlinux.de/index.php?title=Archiso&action=edit#Einrichtung_des_USB-Sticks Einrichtung des USB-Sticks] beschrieben auf einen Stick übertragen werden. | ||
== Releng Profil == | == Releng Profil == | ||
Das Releng Profil fertigt eine tagesaktuelle Arch Linux Installations.iso an. Die | Das Releng Profil fertigt eine tagesaktuelle Arch Linux Installations.iso an. Die Imagedatei hat eine Größe von ca. 530MB. | ||
cp -r /usr/share/archiso/configs/releng ~/archiso | cp -r /usr/share/archiso/configs/releng ~/archiso | ||
cd archiso | cd archiso | ||
sudo ./build.sh -v | sudo ./build.sh -v | ||
Anschließend kann das | Anschließend kann das Image wie folgt beschrieben mit dem dd Befehl auf einen USB-Stick übertragen werden. | ||
== Einrichtung des USB-Sticks == | == Einrichtung des USB-Sticks == | ||
Laufwerksabfrage | Laufwerksabfrage | ||
sudo fdisk -l | sudo fdisk -l | ||
Übertragen des ISO- | Übertragen des ISO-Images auf einen USB-Stick. | ||
sudo dd if=~/archiso/out/<name>.iso of=/dev/sdX bs=4M && sync | sudo dd if=~/archiso/out/<name>.iso of=/dev/sdX bs=4M && sync | ||
Zeile 48: | Zeile 48: | ||
* pacman-conf - In der pacman.conf Datei können die Software Repositorien ausgewählt werden. Standardmäßig sind hier core,extra und community vorgewählt. | * pacman-conf - In der pacman.conf Datei können die Software Repositorien ausgewählt werden. Standardmäßig sind hier core,extra und community vorgewählt. | ||
* packages.x86_64 - In der packages.x86_64 Datei können zusätzliche Software Pakete zeilenweise gelistet werden. Soll später eine grafische | * packages.x86_64 - In der packages.x86_64 Datei können zusätzliche Software Pakete zeilenweise gelistet werden. Soll später eine grafische Oberfläche genutzt werden, können hier X11 und Treiber angegeben werden. Sie Sofwareliste muss nicht vollständig sein, da das System auch später noch beliebig ergänzt werden kann. | ||
xorg-server | xorg-server | ||
Zeile 63: | Zeile 63: | ||
=== Anpassung des Build.sh Skrips === | === Anpassung des Build.sh Skrips === | ||
Die nun folgende Änderung des buid.sh Skriptes erlaubt es vor der Erstellung einer ISO-Datei zusätzliche Einstellungen vor zu nehmen. | Die nun folgende Änderung des buid.sh Skriptes erlaubt es vor der Erstellung einer ISO-Datei zusätzliche Einstellungen vor zu nehmen. | ||
Auch sollen spezielle Konfigurationen verhindert werden, die zwar für ein Installations.iso | Auch sollen spezielle Konfigurationen verhindert werden, die zwar für ein Installations.iso praktisch sind, für ein normales System aber nicht gebraucht werden können. [https://git.archlinux.org/archiso.git/tree/configs/releng/airootfs/root/customize_airootfs.sh] | ||
Hierzu wird das Skript mit einem Editor geöffnet und wie folgt angepasst. | Hierzu wird das Skript mit einem Editor geöffnet und wie folgt angepasst. | ||
Zeile 81: | Zeile 81: | ||
sudo ./build.sh -v | sudo ./build.sh -v | ||
* Tipp: Mehrmaliges Ausführen der build.sh. - Das build Skript hat einen eingebauten Schutzmechanismus der die zweifache Ausführung verhindert um Inkonsistenzen zu vermeiden. Hat man nach Ausführung der build.sh noch Änderungen hinzuzufügen, empfiehlt es sich den gesamten ~/archiso/work Ordner zu löschen. Danach lässt sich das Skript erneut ausführen und der /work Ordner wird vom build.sh komplett neu erstellt. | * Tipp: Mehrmaliges Ausführen der build.sh. - Das build Skript hat einen eingebauten Schutzmechanismus, der die zweifache Ausführung verhindert, um Inkonsistenzen zu vermeiden. Hat man nach Ausführung der build.sh noch Änderungen hinzuzufügen, empfiehlt es sich den gesamten ~/archiso/work Ordner zu löschen. Danach lässt sich das Skript erneut ausführen und der /work Ordner wird vom build.sh komplett neu erstellt. | ||
=== Konfiguration des filesystems === | === Konfiguration des filesystems === | ||
Beim Ausführen des buld.sh | Beim Ausführen des buld.sh Skriptes wurde das neu erstellte Filesystem im Ordner ~/archiso/work/x86_64/airootfs angelegt. Dieses kann direkt bearbeitet werden. | ||
Die nun aufgeführten Konfigurationshinweise beziehen sich ausschließlich auf das | Die nun aufgeführten Konfigurationshinweise beziehen sich ausschließlich auf das Filesystem im Ordner /airootfs. | ||
===== Löschen von speziellen Skripten ===== | ===== Löschen von speziellen Skripten ===== | ||
Die ausschließlich für das Installations Medium | Die ausschließlich für das Installations-Medium vorinstallierten Skripte können wieder entfernt werden. | ||
# rm /etc/mkinitcpio-archiso.conf | # rm /etc/mkinitcpio-archiso.conf | ||
=== Chrooten === | === Chrooten === | ||
Das neu erstellte System kann eingehängt und in einer Chrootumgebung gestartet werden. | Das neu erstellte System kann eingehängt und in einer Chrootumgebung gestartet werden. | ||
Die Einrichtung von | Die Einrichtung von Benutzern ist hier leider nicht möglich, da in der Chroot dbus und einige systemd Kommandos nicht funktionieren. | ||
sudo mount -o bind ~/archiso/work/x86_64/airootfs /mnt | sudo mount -o bind ~/archiso/work/x86_64/airootfs /mnt | ||
sudo arch-chroot /mnt /bin/bash | sudo arch-chroot /mnt /bin/bash | ||
Zeile 110: | Zeile 110: | ||
=== Aktivierung des graphischen Login (optional) === | === Aktivierung des graphischen Login (optional) === | ||
Ändern des 'systemd default target' von 'multi-user.target' in eines das ein graphische | Ändern des 'systemd default target' von 'multi-user.target' in eines das ein graphische Login erlaubt. | ||
# systemctl disable multi-user.target | # systemctl disable multi-user.target | ||
# systemctl enable graphical.target | # systemctl enable graphical.target |
Version vom 21. Dezember 2017, 11:50 Uhr
Die hier beschriebene Methode wird von Arch Linux verwendet um monatlich ISO-Immage Dateien zur Neuinstallation herauszugeben. Auch einige Arch Linux Derivate nutzen das Verfaren um Live Medien unter eigenem Label herauszugeben.
Installation
Das Programm ist als
archiso
in extra
verfügbar, und kann von dort
mittels Pacman
installiert werden.
Es stehen zwei Profile zur Auswahl Baseline und Releng.
Baseline Profil
Das Baseline Profil ist sehr rudimentär. Die zu erstellende ISO-Datei kommt auf ca. 320 MB.
cp -r /usr/share/archiso/configs/baseline ~/archiso
Wechel ins Verzeichnis.
cd archiso
Das Bauen des ISO-Image kann abhängig von der Rechnerleistung und der Größe etwas Zeit in Anspruch nehmen.
sudo ./build.sh -v
Das fertige Image befindet sich im Ordner /out und kann anschließend wie im Kapitel Einrichtung des USB-Sticks beschrieben auf einen Stick übertragen werden.
Releng Profil
Das Releng Profil fertigt eine tagesaktuelle Arch Linux Installations.iso an. Die Imagedatei hat eine Größe von ca. 530MB.
cp -r /usr/share/archiso/configs/releng ~/archiso cd archiso sudo ./build.sh -v
Anschließend kann das Image wie folgt beschrieben mit dem dd Befehl auf einen USB-Stick übertragen werden.
Einrichtung des USB-Sticks
Laufwerksabfrage
sudo fdisk -l
Übertragen des ISO-Images auf einen USB-Stick.
sudo dd if=~/archiso/out/<name>.iso of=/dev/sdX bs=4M && sync
Achtung: Der nun folgende Artikelabschnitt ist noch weitgehend experimentell und sollte nicht unkritisch angewendet werden!
Mein persönlicher Arch Linux USB-Stick
Ein Releng Profil anlegen.
cp -r /usr/share/archiso/configs/releng ~/archiso cd archiso
Anschließend wird das Profil weiter angepasst.
Konfiguration des Releng Profils
- pacman-conf - In der pacman.conf Datei können die Software Repositorien ausgewählt werden. Standardmäßig sind hier core,extra und community vorgewählt.
- packages.x86_64 - In der packages.x86_64 Datei können zusätzliche Software Pakete zeilenweise gelistet werden. Soll später eine grafische Oberfläche genutzt werden, können hier X11 und Treiber angegeben werden. Sie Sofwareliste muss nicht vollständig sein, da das System auch später noch beliebig ergänzt werden kann.
xorg-server xorg-xinit xorg-drivers lxqt firefox thunderbird
- packages.i686 - Die 32 bit Architektur wird von Arch Linux nicht mehr offiziell unterstützt. Möchte man den USB-Stick für i686 lauffähig einrichten ist es empfehlenswert dies auf einem Rechner zu tun der mit archlinux32 eingerichtet ist.
- packages.both - Seit der Aufgabe der 32 bit Architektur ist diese Datei auch nicht mehr relevant und muss leer gelassen werden.
Anpassung des Build.sh Skrips
Die nun folgende Änderung des buid.sh Skriptes erlaubt es vor der Erstellung einer ISO-Datei zusätzliche Einstellungen vor zu nehmen. Auch sollen spezielle Konfigurationen verhindert werden, die zwar für ein Installations.iso praktisch sind, für ein normales System aber nicht gebraucht werden können. [1]
Hierzu wird das Skript mit einem Editor geöffnet und wie folgt angepasst.
kate build.sh
Die Zeile mit
iso_label="ARCH$(date +%Y%m)" wird abgeändert in
iso_label=My-AL-Stick #Darf 11 Zeichen nicht überschreiten
Die Zeile 261 'run_once make_customize_airootfs' wird auskommentiert.
Die letzte Zeile 'run_once make_iso' wird auskommentiert. Danach wird die buid.sh Datei gespeichert.
Anschließend werden alle Befehle und Funktionsaufrufe ab incl. Zeile 247: 'mkdir -p ${work_dir}' gelöscht bzw. auskommentiert und durch den Funktionsabruf 'make_iso' ersetzt.
Das auf diese Weise neu erstellte Skript wir unter den Namen 'mkiso.sh' abgespeichert und anschließend mit dem Befehl chmod +x mkiso.sh
ausführbar gemacht.
Danach kann das build.sh
Skript ausgeführt werden.
sudo ./build.sh -v
- Tipp: Mehrmaliges Ausführen der build.sh. - Das build Skript hat einen eingebauten Schutzmechanismus, der die zweifache Ausführung verhindert, um Inkonsistenzen zu vermeiden. Hat man nach Ausführung der build.sh noch Änderungen hinzuzufügen, empfiehlt es sich den gesamten ~/archiso/work Ordner zu löschen. Danach lässt sich das Skript erneut ausführen und der /work Ordner wird vom build.sh komplett neu erstellt.
Konfiguration des filesystems
Beim Ausführen des buld.sh Skriptes wurde das neu erstellte Filesystem im Ordner ~/archiso/work/x86_64/airootfs angelegt. Dieses kann direkt bearbeitet werden. Die nun aufgeführten Konfigurationshinweise beziehen sich ausschließlich auf das Filesystem im Ordner /airootfs.
Löschen von speziellen Skripten
Die ausschließlich für das Installations-Medium vorinstallierten Skripte können wieder entfernt werden.
# rm /etc/mkinitcpio-archiso.conf
Chrooten
Das neu erstellte System kann eingehängt und in einer Chrootumgebung gestartet werden. Die Einrichtung von Benutzern ist hier leider nicht möglich, da in der Chroot dbus und einige systemd Kommandos nicht funktionieren.
sudo mount -o bind ~/archiso/work/x86_64/airootfs /mnt sudo arch-chroot /mnt /bin/bash
Anschließend wird die Chrootumgebung wieder verlassen
exit sudo umount /mnt
Anschließend kann eine ISO-Datei erstellt werden
sudo ./mkiso.sh
Zusätzliche Tipps zur Einrichtung
Import der archlinux keys
# pacman-key --init # pacman-key --populate archlinux
Aktivierung des graphischen Login (optional)
Ändern des 'systemd default target' von 'multi-user.target' in eines das ein graphische Login erlaubt.
# systemctl disable multi-user.target # systemctl enable graphical.target