Archiso: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Tuxnix (Diskussion | Beiträge)
Konfiguration des filesystems
Tuxnix (Diskussion | Beiträge)
Import English
Zeile 28: Zeile 28:
  sudo ./build.sh -v
  sudo ./build.sh -v


Anschließend kann das Immage wie unten beschrieben mit dem dd Befehl auf auf einen USB-Stick übertragen werden.  
Anschließend kann das Immage wie unten beschrieben mit dem dd Befehl auf einen USB-Stick übertragen werden.  




Zeile 42: Zeile 42:


=== Konfiguration des Releng Profils ===
=== 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.
* 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.
* 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-server  
Zeile 54: Zeile 54:
   
   


*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.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.
* 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 ===
=== Anpassung des Build.sh Skrips ===
Zeile 69: Zeile 69:
Die letzte Zeile 'run_once make_iso' wird auskommentiert. Danach wird die buid.sh Datei gespeichert.<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 147: 'mkdir -p ${work_dir}' gelöscht bzw. auskommentiert und durch den Funktionsabruf 'make_iso' ersetzt.<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.
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.


Zeile 78: Zeile 78:


=== Konfiguration des filesystems ===
=== Konfiguration des filesystems ===
Beim Ausführen des buld.sh Skrptes wurde das neu erstellte filsystem im Ordner ~/archiso/work/x86_64/airootfs abgelegt.
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.
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) =====
 
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.
# systemctl disable multi-user.target
# systemctl enable graphical.target
 


=== Chrooten ===
=== Chrooten ===
Zeile 86: Zeile 121:
  sudo arch-chroot /mnt /bin/bash
  sudo arch-chroot /mnt /bin/bash


Die weitere Einrichtung des Systems kann der Anleitung [https://wiki.archlinux.de/title/Anleitung_f%C3%BCr_Einsteiger#Einen_Benutzer_hinzuf.C3.BCgen_und_Gruppen_w.C3.A4hlen Einen Benutzer hinzufügen und Gruppen wählen] entnommen werden.<br>
===== Importing archlinux keys =====
Danach wird die Chrootumgebung wieder verlassen
 
Um die Arch Linux Keys zu imprtieren kann sind folgende befehle nützlich.
 
# pacman-key --init
# pacman-key --populate archlinux
 
Danach ist der [[Anleitung für Einsteiger]] für die weiter Einrichtung zu folgen.<br>
Anschließend wird die Chrootumgebung wieder verlassen
  exit
  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.
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.
Zeile 99: Zeile 141:
Übertragen des ISO-Immages auf einen USB-Stick.
Übertragen des ISO-Immages 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
== Siehe auch ==
*[[Anleitung für Einsteiger]]
*[[Benutzer und Gruppen]]
*[[Installation von einem USB-Stick]]
*[[Mounten]]
*[[Chroot]]
*[[Chroot (Arch reparieren)]]


[[ar:Archiso]]
[[ar:Archiso]]
Zeile 110: Zeile 160:
[[ru:Archiso]]
[[ru:Archiso]]
[[sk:Archiso]]
[[sk:Archiso]]
[[Kategorie:Installation]]

Version vom 19. Dezember 2017, 11:36 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. 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

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

pacman -S archiso

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 Immage 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 Immagedatei 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 Immage wie unten beschrieben mit dem dd Befehl auf einen USB-Stick übertragen werden.


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
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ä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
iso_label="ARCH$(date +%Y%m)" wird abgeändert in
iso_label=MEIN_ARCHLX #Darf 11 Zeichen nicht überschreiten

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
  • 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 /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

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

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)

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.

# systemctl disable multi-user.target
# systemctl enable graphical.target


Chrooten

Zur weiteren Einrichtung kann das neu erstellte System eingehängt und in einer Chrootumgebung gestartet werden.

sudo mount -o bind ~/archiso/work/x86_64/airootfs /mnt
sudo arch-chroot /mnt /bin/bash
Importing archlinux keys

Um die Arch Linux Keys zu imprtieren kann sind folgende befehle nützlich.

# pacman-key --init
# pacman-key --populate archlinux

Danach ist der Anleitung für Einsteiger für die weiter Einrichtung zu folgen.
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

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