Die Installation von Arch Linux erfolgt vollständig über die Komandozeile. Dieses How-To führt Schritt für Schritt durch die Installation des Arch Linux Basesystems.
Vorbereitung
Als erstes ist benötigen wir das Installationsimage. Download hier:
https://www.archlinux.org/download/
Dieses Image muß dann auf eine CD oder DVD gebrannt werden, oder man erstellt einen bootfähigen USB Datenträger. Dies lässt sich unter Windows mit dem Tool Rufus erledigen. Download hier:
https://rufus.akeo.ie/
Unter Linux lässt sich das auf der Kommandozeile wie folgt erledigen, wobei /dev/sdx das entsprechende Devicefile darstellt. Dieses lässt sich mit dem Kommando lsblk herausfinden. Vorher ist sicherzustellen das der Datenträger nicht eingebunden ist.
sudo umount /dev/sdx sudo dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx
Unter MacOS läuft das ganze ähnlich wie unter Linux auf der Kommandozeile ab. Mit dem Kommando „diskutil list“ lässt dich das Devicefile des USB Datenträgers herausfinden z.B. /dev/disk5. Das Image lässt sich dann mit folgendem Kommando auf den USB Datenträger schreiben. Vorher ist der Datenträger auszuhängen.
sudo diskutil umountDisk /dev/diskX sudo dd bs=4m if=/path/to/archlinux.iso of=/dev/diskX
Wenn das erstellen des Datenträgers beendet ist kann der Rechner, auf dem die Installation erfolgen soll, von diesem gebootet werden. Eventuell muß die Bootreihenfolge im BIOS Setup des Rechners angepasst werden.
Installation
Die Installation erfordert eine Internetverbindung. In den allermeisten Fällen sollte die Netzwerkhardware automatisch erkannt werden. Ist der Rechner über ein Kabel mit dem Netzwerk verbunden wird das Interface automatisch konfiguriert, vorausgesetzt im LAN ist ein DHCP Server aktiv.
Soll die Installation über Wifi erfolgen muß dies jetzt eingerichtet werden. Einige Wifi Chipsätze (z.B. Broadcom 43xxx) erfordern eine proprietäre Firmware. Diese ist in der Installationsumgebung nicht verfügbar und kann erst nach der Installation des Basissystems eingebunden werden. In diesem Fall bleibt nur die Installation über eine LAN Verbindung.
Nachdem der Startvorgang der Installationsumgebung abgeschlossen ist erscheint folgender Eingabepromt:
root@archiso ~ #
Die Installationsumgebung ist nun bereit. Allerdings ist das Tastaturlayout noch auf Englisch gesetzt. Folgendes Kommando ändert das Layout auf deutsch.
loadkeys de
Soll die Installation über Wifi erfolgen lässt sich die Internetverbindung einfach wie folgt einrichten:
wifi-menu
Über das Textmenü kann jetzt die zu benutzende SSID (WLAN Name) ausgewählt werden. Nach eingabe des Keys sollte nun eine Internetverbindung bestehen. Zur Überprüfung der Internetverbindung dient beispielsweise folgendes Kommando:
ping archlinux.org
Die Ausgabe sieht, wenn eine Internetverbindung steht, wie folgt aus.
64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=1 ttl=55 time=31.2 ms 64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=2 ttl=55 time=30.8 ms 64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=3 ttl=55 time=30.2 ms 64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=4 ttl=55 time=30.6 ms 64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=5 ttl=55 time=34.1 ms 64 bytes from apollo.archlinux.org (138.201.81.199): icmp_seq=6 ttl=55 time=32.3 ms
Partitionierung der Festplatte
Im nächsten Schritt ist die Festplatte zu partitionieren. Es werden bei diesem Vorgang alle Daten auf der Festplatte gelöscht!!!! Hierzu dient das Tool cfdisk. Die Bedienung erfolgt über die Cursortasten. In diesem Beispiel werden 3 Partitionen auf der Festplatte angelegt.
1. Eine boot Partition (hier wird alles abgelegt das für den rudimentären Start des Systems erforderlich ist)
2. Eine swap Partition (diese dient als Auslagerungsspeicher für den Fall das der physikalische Arbeitsspeicher des Systems nicht mehr ausreicht)
3. Eine root Partition. (auf dieser werden Programme und Benutzerdaten abgelegt, daher wird diese bei der Installation verschlüsselt)
cfdisk /dev/sdx
Da wir auf einem BIOS System installieren ist hier das DOS Partitionsschema auszuwählen.
Anlegen der Boot Partition. Diese sollte 100 – 200 MB groß sein. Wichtig ist hier das diese Partition als „Bootable“ markiert wird. Bei der Abfrage der Partitionsgröße ist 100M bzw. 200M als Parameter anzugeben. Diese Partition bleibt unverschlüsselt und dient ausschließlich dem initialen Start des Betriebssystems. Hier werden keinerlei Benutzerdaten abgelegt.
Als nächstes ist die SWAP Partition anzulegen. Diese sollte die doppelte Größe des installierten Arbeitsspeichers umfassen. Wichtig ist das der Typ der Partition auf Linux swap / Solaris geändert wird. Bei der Abfrage der Größe ist hier die doppelte Größe des Arbeitsspeichers anzugeben. Hier 8129M
Jetzt ist die root Partition anzulegen. Diese umfasst hier den restlichen freien Bereich der Festplatte. Das Endergebniss sollte wie folgt aussehen:
Jetzt kann die Partitionstabelle mit „write“ auf den Datenträger geschrieben werden und das Programm über „quit“ beendet werden.
Anlegen und Einbinden der Dateisysteme
Um die root Partition zu verschlüsseln ist zunächst ein virtuelles Devicefile im Luksverschlüsselungs Mode anzulegen.
cryptsetup --verbose --cipher aes-xts-plain64 --key-size 512 --hash sha512 --iter-time 5000 --use-random luksFormat /dev/sda3
Jetzt wird die Passphrase die als key für die Verschlüsselung des Dateisystems verwendet wird abgefragt. Diese ist dann bei jedem Systemstart einzugeben um das root Dateisystem zu entschlüsseln.
Nun können wir das neu erstellte Cryptodateisystem entsperren und als virtuelles Devicefile /dev/mapper/cryptroot anlegen.
cryptsetup open --type luks /dev/sda3 cryptroot
Um fortzufahren ist jetzt die eben vergebene Passphrase einzugeben um dann mit folgenden Kommandos die Dateisysteme mit dem ext4 Filesystem zu formatieren.
mkfs.ext4 /dev/sda1 mkfs.ext4 /dev/mapper/cryptroot
Die Auslagerungspartition wird dann wie folgt formatiert.
mkswap /dev/sda2
Im nächsten Schritt werden die erzeugten Dateisysteme in die Installationsumgebung eingehängt. Zu erst die root Partition:
mount -t ext4 /dev/mapper/cryptroot /mnt
Jetzt ist der Einhängepunkt für die boot Partition anzulegen:
mkdir -p /mnt/boot
Und dann wird die boot Partition entsprechend eingebunden:
mount -t ext4 /dev/sda1 /mnt/boot
Installation des Basissystems
pacstrap -i /mnt base base-devel
Hier kann einfach mit „Enter“ der Vorgang gestartet werden.
Und auch die zweite Abfrage kann einfach mit „Enter“ bestätigt werden.
Jetzt noch mit „y“ den eingentlichen Installationsprozess anstoßen. Dieser Vorgang dauert jetzt je nach Bandbreite der Internetverbindung eine Weile. Wenn die Installation des Basissystems erfolgreich war ist als nächstes die Dateisystemtabelle anzulegen.
genfstab -U -p /mnt >> /mnt/etc/fstab
Um sicher zu stellen das dieser Vorgang erfolgreich war kann wie folgt überprüft werden.
cat /mnt/etc/fstab
Um die swap Partiton beim Systemstart einzubinden ist die Datei /etc/fstab um folgende Zeile zu ergänzen. Die Datei mit folgendem Kommando editieren:
nano /etc/fstab
Am Ende der Datei folgenden Eintrag hinzufügen:
/dev/sda2 swap swap defaults 0 0
Dann die Datei mit Strg-X speichern und den Editor verlassen.
Im nächsten Schritt wird vom root Verzeichniss der Installationsumgebung in das root Verzeichniss des neu installierten Systems auf der Festplatte gewechselt. Dieser Vorgang nennt sich changeroot.
arch-chroot /mnt
Jetzt ist die Systemlokalisierung zu setzten. Hierzu ist die Datei /etc/locale.gen zu bearbeiten:
nano /etc/locale.gen
In der Zeile #de_DE-UTF-8 UTF-8 ist das Kommentarzeichen # am Anfang der Zeile zu entfernen und dann die Datei mit Strg-X zu speichern um dann die System locale wie folgt zu erzeugen:
locale-gen
Jetzt ist eine Konfigurationsdatei anzulegen die das System auf die gewünschte Sprache setzt. In unserem Fall Deutsch mit Unicode Zeichensatz.
echo LANG=de_DE.UTF-8 > /etc/locale.conf
Um in der laufenden Umgebung die Spracheinstellungen zu setzen:
export LANG=de_DE.UTF-8
Nun ist die Zeitzone des Systems zu setzen. Dies erfolgt über das Anlegen eines symbolischen Links.
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
Das setzten des deutschen Tastaturlayouts erfolgt durch folgendes Kommando:
echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf
Und die Uhr des Systems auf die Koordinierte Welt Zeit (UTC) zu setzten:
hwclock --systohc --utc
Der gewünschte Hostname wird mit dem Kommando:
echo MyHostname > /etc/hostname
gesetzt. Nun wird das Passwort für den Benutzer root gesetzt:
passwd
Das Passwort ist nun zwei mal einzugeben. Es wird keine Ausgabe auf dem Prompt angezeit. Als nächstes wird ein Benutzerkonto für die normale Benutzung des Systems angelegt.
useradd -m -g users -G wheel,games,power,optical,storage,scanner,lp,audio,video -s /bin/bash benutzername
Und dann ein Passwort gesetzt.
passwd benutzername
Um diesem Benutzer bzw. allen Benutzern der Gruppe „wheel“ das Recht, Kommandos als root Benutzer auszuführen, einzuräumen ist die Datei /etc/sudoers zu bearbeiten
EDITOR=nano visudo
Durch entfernen des Kommentarzeichens „#“ in der Zeile:
%wheel ALL=(ALL)ALL
bekommen alle Benutzer das Recht Kommandos mit root Rechten auszuführen, werden aber zur Eingabe ihres Passwortes aufgefordert.
Die Zeile
&wheel ALL=(ALL) NOPASSWD:ALL
hat die gleiche Auswirkung jedoch muß der Benutzer kein Kennwort eingeben.
Die Installation des Bootloaders und des OS-Probers erfolgt mit folgendem Kommando.
pacman -S grub os-prober
Um von der verschlüsselten Partition booten zu können ist eine kleine Anpassung der Konfiguration des Bootloaders grub erforderlich:
nano /etc/default/grub
Der Eintrag GRUB_CMDLINE_LINUX““ ist wie folgt zu ändern:
Des Weiteren ist die Konfiguration des Tools mkinitcpio anzupassen um die für die Festplattenentschlüsselung benötigten Module in die initiale Ramdisk einzubinden.
nano /etc/mkinitcpio.conf
Hier ist der Eintrag HOOKS wie folgt zu ergänzen:
Da ein Hook zur mkinitcpio Konfigurationsdatei hinzugefügt wurde muß nun die initiale Ramdisk neu erzeugt werden. Die geschiet mit foldendem Kommando:
mkinitcpio -p linux
Die Ausgabe sollte dann wie folgt aussehen:
Nun bleibt nur den Bootloader in den Master Boot Record der Festplatte zu schreiben:
grub-install --recheck /dev/sda
Und die Konfigurationsdatei für den Bootloader zu erstellen:
grub-mkconfig --output /boot/grub/grub.cfg
Damit ist die Installation des Basissystems beendet. Die chroot Umgebung wird mit dem Kommando
exit
verlassen, die Dateisysteme mit den Kommandos
umount -R /mnt/boot umount -R /mnt
ausgehängt und das virtuelle Cryptdevice mit
cryptsetup close cryptroot
geschlossen.
Jetzt kommt der spannende Moment. Mit dem Kommando
systemctl reboot
wird das System nun neu gestartet. Nun sollte folgender Prompt erscheinen:
Hier ist die Passphrase die beim anlegen der virtuellen Cryptodevices angegeben wurde einzugeben. Es erfolgt keine Bildschirmausgabe. Dann sollte das System starten und es wird dann zur Anmeldug aufgefordert.
Das wars dann auch schon. Die erste Anmeldung mit dem Benutzer „root“ und dem vergebenen Passwort sollte jetzt möglich sein. Eine Verbindung mit dem Internet herzustellen bzw. das Netzwerk per DHCP zu konfigurieren erfolgt mit dem Kommando:
dhcpcd
Wird eine Wifi Verbinung benötigt lässt die diese mit dem Kommando
wifi-menu
wie schon wärend der Installation herstellen.
Die Installation des Arch Linux Basissystems ist abgeschlossen. Von dieser Basis ausgehend kann das System nun für den gewünschten Zweck angepasst werden, die Ausgangsbasis ist prinzipiell immer die hier beschriebene Basisinstallation.