Archiso: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Tuxnix (Diskussion | Beiträge)
Import English
K Verschiebung community -> extra
 
(25 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
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.
'''Archiso''' wird von Arch Linux dazu verwendet im monatlichem Rhythmus ein aktuelles Installations-Image herauszugeben. Archiso besteht aus einzelen Skripten und ist konfigurierbar, so dass ISOs auch für den individuellen Zweck erstellbar sind.
Der in der in der folgenden Anleitung beschriebene selbst erstellte Live- und Installations USB-Stick hat den Vorteil, dass er ein komplettes Benutzersystem darstellt,  individuell auf eigene Bedürfnisse konfiguriert ist, und mittels pacman stets auf dem aktuellen Stand gehalten werden kann.


{{installation
{{installation
Zeile 7: Zeile 6:
}}
}}


Es stehen zwei Profile zur Auswahl Baseline und Releng. 
== Baseline Profil ==
== Baseline Profil ==
Das Baseline Profil ist sehr rudimentär. Die zu erstellende  ISO-Datei kommt auf ca. 320 MB.
Das Baseline Profil enthält nur die aller nötigsten Pakete zum Booten mit der Live-ISO und anschließender Grundinstallation von Arch Linux.<br>
Das unveränderte {{ic|archlinux-baseline-<date>-x86_64.iso}} hat derzeit eine Größe von 340 MB.<br>


===Vorgehensweise===
Kopieren des Profils ins eigene /home Verzeichnis:
  cp -r /usr/share/archiso/configs/baseline ~/archiso
  cp -r /usr/share/archiso/configs/baseline ~/archiso


Wechel ins Verzeichnis.
Wechsel ins Verzeichnis:
  cd archiso
  cd ~/archiso


Das Bauen des ISO-Image kann abhängig von der Rechnerleistung und der Größe etwas Zeit in Anspruch nehmen.
Erstellen des Arch-ISOs:
sudo ./build.sh -v
# mkarchiso ~/archiso
 
Der Befehl benötigt Root-Privilegien. Die Ausführung kann einige Minuten in Anspruch nehmen.<br>
Das fertige Immage 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.
Das fertige Image befindet sich danach im Ordner {{ic|~/archiso/out}}<br>


== Releng Profil ==
== Releng Profil ==
Das Releng Profil fertigt eine tagesaktuelle Arch Linux Installations.iso an. Die Immagedatei hat eine Größe von ca. 530MB.
Die fertige Releng Imagedatei hat derzeit eine Größe von ca. 760MB. Sie entspricht dem monatlich veröffentlichten Installationsmedium. Die Erstellung dauert etliche Minuten, entspricht jedoch dann dem tagesaktuellen Paketstand.
cp -r /usr/share/archiso/configs/releng ~/archiso
cd archiso
sudo ./build.sh -v
 
Anschließend kann das Immage wie unten beschrieben mit dem dd Befehl auf einen USB-Stick übertragen werden.  


 
===Vorgehensweise===
{{Achtung|Der nun folgende Artikelabschnitt ist noch nicht fertig erstellt und befindet sich in aktiver Bearbeitung}}
 
 
== Mein persönlicher Arch Linux USB-Stick ==
Ein Releng Profil anlegen.
  cp -r /usr/share/archiso/configs/releng ~/archiso
  cp -r /usr/share/archiso/configs/releng ~/archiso
  cd archiso
  cd ~/archiso
 
  # mkarchiso ~/archiso
Anschließend wird das Profil weiter angepasst.
Der letzte Befehl benötigt Root-Privilegien.<br>
 
Das fertige Image befindet sich danach im Ordner {{ic|~/archiso/out}}<br>
=== 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äsche 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 Einrichtungen vornehmen zu können.
Hierzu ist das Skript mit einem Editor geöffnet und wie folgt angepasst.
kate build.sh
 
Die Zeile mit<br>
iso_label="ARCH$(date +%Y%m)" wird abgeändert in<br>
iso_label=MEIN_ARCHLX #Darf 11 Zeichen nicht überschreiten<br>
 
Die letzte Zeile 'run_once make_iso' wird auskommentiert. Danach wird die buid.sh Datei gespeichert.<br>
 
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.<br>
Das auf diese Weise neu erstellte Skript wir unter den Namen 'mkiso.sh' abgespeichert und anschließend mit dem Befehl {{ic|chmod +x mkiso.sh}} ausführbar gemacht.
 
Danach kann das {{ic|build.sh}} Skript ausgeführt werden.
sudo ./build.sh
 
* Tip: 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 Skrptes wurde das neu erstellte filsystem 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.
 
{{Achtung| Die folgenden von der englischsprachigen Wiki kopierten Konfigurations - Empfehlungen müssen noch auf ihre Gültigkeit und Aktualität überprüft werden.}}
 
* In der Datei {{ic|/etc/systemd/system/getty@tty1.service.d/autologin.conf}} ist ein autologin Service für root vereinbart. Um dies zu ändern genügt es die Datei zu löschen.
* journald speichert im RAM
===== Restore the configuration of  =====
[https://projects.archlinux.org/archiso.git/tree/configs/releng/airootfs/root/customize_airootfs.sh#n19 This customization of archiso] will lead to storing the system journal in RAM, it means that the journal will not be available after reboot:
# sed -i 's/Storage=volatile/#Storage=auto/' /etc/systemd/journald.conf
 
===== Remove special udev rule =====
[https://projects.archlinux.org/archiso.git/tree/configs/releng/airootfs/etc/udev/rules.d/81-dhcpcd.rules This rule of udev] starts the dhcpcd automatically if there are any wired network interfaces.
 
# rm /etc/udev/rules.d/81-dhcpcd.rules
 
===== Disable and remove the services created by archiso =====
Some service files are created for the Live environment, please disable the services and remove the file as they are unnecessary for the new system:
# systemctl disable pacman-init.service choose-mirror.service
# rm -r /etc/systemd/system/{choose-mirror.service,pacman-init.service,etc-pacman.d-gnupg.mount,getty@tty1.service.d}
# rm /etc/systemd/scripts/choose-mirror
 
===== Remove special scripts of the Live environment =====
There are some scripts installed in the live system by archiso scripts, which are unnecessary for the new system:
# rm /etc/systemd/system/getty@tty1.service.d/autologin.conf
# rm /root/{.automated_script.sh,.zlogin}
# rm /etc/mkinitcpio-archiso.conf
# rm -r /etc/initcpio
 
 


===== Enable graphical login (optional) =====
==Optionen==
* -o <pfad> Mit dieser Option lässt sich das Output Verzeichnis neu festlegen.
* -w <pfad> Bestimmt das Work Verzeichnis.
Besitzt der Rechner genug Arbeitsspeicher, kann es ratsam sein das Arbeitsverzeichnis in den RAM zu verlegen:
mkarchiso -w /tmp/archiso-tmp ~/archiso
* -v gibt Programmmeldungen aus.


If using a display manager like GDM, you may want to change the systemd default target from multi-user.target to one that allows graphical login.
==KDE-Plasma==
# systemctl disable multi-user.target
Tipp: Befindet man sich auf dem Plasma Desktop ist es ratsam den Indexierungsdienst baloo abzustellen bevor man mkarchiso ausführt.
  # systemctl enable graphical.target
Ansonsten nimmt die Indexierung mehr Rechenleistung in Anspruch als die ISO-Erstellung selbst.
  balooctl disable


==Anfertigen eines USB-Sticks==
Laufwerksabfrage zum Ermitteln von '''x''':
# fdisk -l


=== Chrooten ===
Übertragen des ISO-Images auf den USB-Stick:
Zur weiteren Einrichtung kann das neu erstellte System eingehängt und in einer Chrootumgebung gestartet werden.
# dd bs=4M if=~/archiso/out/archlinux-'''<datum>'''-x86_64.iso of=/dev/'''x''' status=progress
sudo mount -o bind ~/archiso/work/x86_64/airootfs /mnt
sudo arch-chroot /mnt /bin/bash


===== Importing archlinux keys =====
==Individuelle Anpassung==
Eigene Anpassungen müssen getätigt werden bevor der {{ic|mkarchiso}} Befehl ausgeführt wird.<br>
Will man mkarchiso erneut ausführen, so ist der ~archiso/work Ordner zu löschen.<br>


Um die Arch Linux Keys zu imprtieren kann sind folgende befehle nützlich.
Im Folgendem wird sich auf Dateien im Ordner ~/archiso bezogen:
* Pakete - {{ic|packages.x86_64}}: Hier können zusätzliche Software Pakete zeilenweise gelistet werden.


# pacman-key --init
* Repositorien - {{ic|pacman-conf}}: Standardmäßig sind hier core und extra vorgewählt.
# pacman-key --populate archlinux


Danach ist der [[Anleitung für Einsteiger]] für die weiter Einrichtung zu folgen.<br>
* Profil - {{ic|profiledef.sh}}: Das Skript belegt einige Variablen der ISO Erstellung. Die Möglichkeiten einer Anpassung dürften selbsterklärend sein.
Anschließend wird die Chrootumgebung wieder verlassen
exit
Möchte man Daten auf den zukünftigen USB-Stick übertragen, wäre jetzt die Gelegenheit, bevor das System mit dem folgenden Befehl wieder ausgehängt wird.
sudo umount /mnt /bin/bash
Anschließend kann eine ISO-Datei erstellt werden
sudo ./mkiso.sh


== Einrichtung des USB-Sticks ==
* Dateien hinzufügen und Konfiguration - {{ic|airootfs}}: Das airootfs Verzeichnis entspricht dem späteren Wurzelverzeichnis des ISO-Live-Systems. Alle Änderungen im Verzeichnis airootfs werden nach / übernommen bevor dort Pakete installiert werden. Hier ist man frei z.B. ein /home Verzeichnis mit den eigenen Daten anzulegen, im /etc Verzeichnis Konfigurationen für das spätere Live-System vorzunehmen oder z.B. ein /usr/local/bin Verzeichnis mit eigenen Skripten anzulegen.
Laufwerksabfrage
sudo  fdisk -l
Übertragen des ISO-Immages auf einen USB-Stick.
sudo  dd if=~/archiso/out/<name>.iso of=/dev/sdX bs=4M && sync


== Siehe auch ==
== Siehe auch ==
*[[Anleitung für Einsteiger]]
*[[Anleitung für Einsteiger]]
*[[Benutzer und Gruppen]]
*[[Installation von einem USB-Stick]]
*[[Installation von einem USB-Stick]]
*[[Mounten]]
*[[Chroot]]
*[[Chroot (Arch reparieren)]]


[[ar:Archiso]]
[[ar:Archiso]]

Aktuelle Version vom 24. Mai 2023, 18:31 Uhr

Archiso wird von Arch Linux dazu verwendet im monatlichem Rhythmus ein aktuelles Installations-Image herauszugeben. Archiso besteht aus einzelen Skripten und ist konfigurierbar, so dass ISOs auch für den individuellen Zweck erstellbar sind.

Installation

Das Programm ist als archiso in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S archiso

Baseline Profil

Das Baseline Profil enthält nur die aller nötigsten Pakete zum Booten mit der Live-ISO und anschließender Grundinstallation von Arch Linux.
Das unveränderte archlinux-baseline-<date>-x86_64.iso hat derzeit eine Größe von 340 MB.

Vorgehensweise

Kopieren des Profils ins eigene /home Verzeichnis:

cp -r /usr/share/archiso/configs/baseline ~/archiso

Wechsel ins Verzeichnis:

cd ~/archiso

Erstellen des Arch-ISOs:

# mkarchiso ~/archiso

Der Befehl benötigt Root-Privilegien. Die Ausführung kann einige Minuten in Anspruch nehmen.
Das fertige Image befindet sich danach im Ordner ~/archiso/out

Releng Profil

Die fertige Releng Imagedatei hat derzeit eine Größe von ca. 760MB. Sie entspricht dem monatlich veröffentlichten Installationsmedium. Die Erstellung dauert etliche Minuten, entspricht jedoch dann dem tagesaktuellen Paketstand.

Vorgehensweise

cp -r /usr/share/archiso/configs/releng ~/archiso
cd ~/archiso
# mkarchiso ~/archiso

Der letzte Befehl benötigt Root-Privilegien.
Das fertige Image befindet sich danach im Ordner ~/archiso/out

Optionen

  • -o <pfad> Mit dieser Option lässt sich das Output Verzeichnis neu festlegen.
  • -w <pfad> Bestimmt das Work Verzeichnis.

Besitzt der Rechner genug Arbeitsspeicher, kann es ratsam sein das Arbeitsverzeichnis in den RAM zu verlegen:

mkarchiso -w /tmp/archiso-tmp ~/archiso
  • -v gibt Programmmeldungen aus.

KDE-Plasma

Tipp: Befindet man sich auf dem Plasma Desktop ist es ratsam den Indexierungsdienst baloo abzustellen bevor man mkarchiso ausführt. Ansonsten nimmt die Indexierung mehr Rechenleistung in Anspruch als die ISO-Erstellung selbst.

balooctl disable

Anfertigen eines USB-Sticks

Laufwerksabfrage zum Ermitteln von x:

# fdisk -l

Übertragen des ISO-Images auf den USB-Stick:

# dd bs=4M if=~/archiso/out/archlinux-<datum>-x86_64.iso of=/dev/x status=progress

Individuelle Anpassung

Eigene Anpassungen müssen getätigt werden bevor der mkarchiso Befehl ausgeführt wird.
Will man mkarchiso erneut ausführen, so ist der ~archiso/work Ordner zu löschen.

Im Folgendem wird sich auf Dateien im Ordner ~/archiso bezogen:

  • Pakete - packages.x86_64: Hier können zusätzliche Software Pakete zeilenweise gelistet werden.
  • Repositorien - pacman-conf: Standardmäßig sind hier core und extra vorgewählt.
  • Profil - profiledef.sh: Das Skript belegt einige Variablen der ISO Erstellung. Die Möglichkeiten einer Anpassung dürften selbsterklärend sein.
  • Dateien hinzufügen und Konfiguration - airootfs: Das airootfs Verzeichnis entspricht dem späteren Wurzelverzeichnis des ISO-Live-Systems. Alle Änderungen im Verzeichnis airootfs werden nach / übernommen bevor dort Pakete installiert werden. Hier ist man frei z.B. ein /home Verzeichnis mit den eigenen Daten anzulegen, im /etc Verzeichnis Konfigurationen für das spätere Live-System vorzunehmen oder z.B. ein /usr/local/bin Verzeichnis mit eigenen Skripten anzulegen.

Siehe auch