Ziel ist es, Arch Linux auf einer minimalen Installation zu installieren.
Partition | Verzeichnis/Bereich | Parttionstyp | Dateisystem | Größe |
sda1 | / | Linux-Typ (root) | ext4 | (Restspeicher) |
sda2 | /boot | Linux-Typ | ext4 | 1GB |
sda127 | swap | Linux-Swap | Swap | 100MB |
sda128 | BIOS boot partition | BIOS boot partition | (entfällt) | 5MB |
Beachten Sie, dass Fehler in der Partitionierung ohne Neuinstallation nicht nachträglich geändert werden können. Der Bootloader wird Grub sein.
Tastaturbelegung
Zu Beginn ist die Tastatur auf englisch eingestellt. Dies kann, wie auch in der Installationsanleitung angegeben, mittels folgendem Befehl geschehen:
loadkeys de-latin1-nodeadkeys |
Zu beachten ist hierbei, dass das Minus anstelle des ß zu finden ist und das y anstelle des z .
Partitionierung und Vorbereiten der Partitionen
Zunächst muss die Platte partitioniert werden. Da diese mit gdisk umgesetzt werden soll, starten Sie das Tool mit folgendem Befehl:
gdisk /dev/sda |
Anschließend können Sie die benötigten Partitionen festlegen. Eine neue Partition wird mit dem Befehl n angelegt. Sie können wie folgt vorgehen:
Partition BIOS-Boot
Befehl: n Partitionsnummer: 128 Beginn: (Enter) Ende: +5M Filetype: ef02 |
Partition Boot
Befehl: n Partitionsnummer: 2 Beginn: (Enter) Ende: +1G Filetype: 8300 |
Partition Swap
Befehl: n Partitionsnummer: 127 Beginn: (Enter) Ende: +100M Filetype: 8200 |
Partition Root
Diese wird als letztes angelegt, da sie den verbleibenden Speicherbereich nutzen soll
Befehl: n Partitionsnummer: 1 Beginn: (Enter) Ende: (Enter) Filetype: 8304 |
Zuletzt können Sie sich mit p die erzeugte Partitionstabelle anschauen. Sollte alles so aussehen, wie vom Muster vorgesehen, können Sie die Partitionstabelle auf die Platte mit dem Befehl w schreiben.
gdisk wird nach dem Vorgang automatisch beendet. Nach erfolgreichem Abschluss können Sie nun die Dateisysteme anlegen. Entsprechend der Tabelle oben sollen die Partitionen sda1, sda2 und sda3 das Dateisystem ext4 bekommen, der Swap-Bereich wird als solches initialisiert. Im Folgenden wird eine mögliche Umsetzung gezeigt, bei der zusätzlich die Partitionen auch sogenannte Labels erhalten. Der Name der Labels ist frei wählbar.
mkfs.ext4 -L root /dev/sda1 mkfs.ext4 -L boot /dev/sda2 mkswap -L swap /dev/sda127 |
Nun sollten die Partitionen unter /mnt eingehängt werden entsprechend so, wie sie nachher auf dem System zusammenwirken sollen. Das heißt, dass die Root-Partition unter /mnt direkt eingehängt wird, die Boot-Partition unter /mnt/boot, usw. Dies sieht dann wie folgt aus:
mount -L root /mnt mkdir /mnt/boot mount /dev/sda2 /mnt/boot |
Zuletzt können Sie die Swap-Partition aktivieren .
swapon -L p_swap |
Basissystem installieren
Testen Sie zunächst, ob Sie eine Internetverbindung aufbauen können. Andernfalls stellen Sie ihr System auf DHCP oder eine Statische IP ein. Bearbeiten Sie dazu die Datei /etc/systemd/network/lan.network.
Beispiel Config Statische IPv4
1 2 3 4 5 6 7 8 | [Match] Name=ens18 [Network] Address=192.168.2.100/24 Gateway=192.168.2.1 DNS=192.168.25.1 IPv6AcceptRA=yes |
Beispiel Config Statische IPv4 (Proxmox)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | [Match] Name=ens18 [Network] Address=144.76.x.x/32 DNS=8.8.8.8 IPv6AcceptRA=no [Route] Destination=78.47.x.x/32 Gateway=0.0.0.0 [Route] Destination=0.0.0.0/0 Gateway=78.47.x.x GatewayOnlink=yes |
Beispiel Config Statische IPv6
1 2 3 4 5 6 | [Match] Name=ens18 [Network] Address=2a01:4f8:b19:x:x::1/66 Gateway=2a01:4f8:b19:x:x:: |
Sollten Sie die Netzwekconfig angepasst haben starten Sie mit systemctl restart systemd-networkd ihr Netzwerk neu.
Nun muss eine passende Mirrorlist erzeugt werden. Diese dient als Basis dafür, von wo Pakete zum Updaten oder zur Installation genommen werden sollen. Bearbeiten Sie die Datei. Dabei sollten nur Mirrors aus Deutschland übrig bleiben.
vim /etc/pacman.d/mirrorlist |
Anschließend kann dieser Befehl genutzt werden, um das Basissystem auf dem neuen Root zu installieren. Dazu dient der Befehl pacstrap.
pacstrap /mnt base base-devel linux vim |
Zudem wird zum späteren Booten des neuen Systems wie bereits bekannt eine fstab-Datei benötigt. Diese kann nun erzeugt und anschließend eingesehen werden:
genfstab -Lp /mnt > /mnt/etc/fstab cat /mnt/etc/fstab |
Systemkonfiguration
Nun kann das neue System betreten werden, was durch den Befehl arch-chroot ermöglicht wird:
arch-chroot /mnt/ |
Nun können einige Konfigurationen vorgenommen werden. Zunächst sollte ein Hostname vergeben werden. Dieser wird (ab dem nächsten Neustart) aus der Datei /etc/hostname gelesen:
echo IHRHOSTNAME > /etc/hostname |
Auch die Locale sollte festgelegt werden. Dies ist eine Einstellung, die von einigen Programmen genutzt wird, um lokalspezifische Einstellungen, wie die Währung oder Textsymbole, korrekt anzuzeigen. Zunächst sollten die benötigten Locales generiert werden. Dazu sollten zunächst in der /etc/locale.gen alle Zeilen auskommentiert werden, deren Locale dann genutzt werden soll. Öffnen Sie dazu die Datei in einem Editor
vim /etc/locale.gen |
und entfernen das Kommentarzeichen (#) vor den folgenden Zeilen:
1 2 3 4 | #de_DE.UTF-8 UTF-8 #de_DE ISO-8859-1 #de_DE@euro ISO-8859-15 #en_US.UTF-8 UTF-8 |
Erzeugen Sie anschließend die Locales mittels locale-gen
Nachdem die Locales erzeugt wurden, kann das System Locale, also jene Einstellung, die angewandt werden soll, gesetzt werden. Dazu ist ein Eintrag in der /etc/locale.conf nötig, der der obersten Zeile der auskommentierten Zeilen entsprechen muss:
echo LANG=de_DE.UTF-8 > /etc/locale.conf |
Dann kann das Tastaturlayout sowie die Zeitzone festgelegt werden:
1 2 | echo KEYMAP=de-latin1 > /etc/vconsole.conf ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime |
Anschließend muss die /etc/hosts-Datei bearbeitet werden, die zur Auflösung von Rechnernamen in IP-Adressen genutzt wird, wenn kein Nameserver zur Verfügung steht:
1 | vim /etc/hosts |
Fügen Sie dort folgenden Inhalt ein:
#<ip-address><hostname.domain.org><hostname> 127.0.0.1 localhost.localdomain localhost ::1 localhost.localdomain localhost |
Anschließend können Sie mittels pacman die Package Liste aktualisieren:
pacman -Sy |
Anschließend muss die Initial Ramdisk mittels mkinitcpio erzeugt werden. Diese wird als Vorbereitung des Bootvorgangs benötigt, bevor das tatsächliche Root-Filesystem gemounted wird.
mkinitcpio -p linux |
Legen Sie nun bitte ein Root-Passwort fest mit passwd fest.
Als letzter Konfigurationsschritt sollen nun einige Pakete installiert werden:
pacman -S acpid dbus avahi cronie |
- Das Paket acpid dient dazu, sog. ACPI-Events (Advanced Configuration and Power Interface) verwalten zu können, also z.B. zum Herunterfahren eines PCs.
- Mit dbus wird die Interprozesskommunikation ermöglicht.
- avahi wird für spezielle Netzwerkkonfigurationen benötigt, zum Beispiel, um vorhandene Services des Netzwerks automatisch zu erkennen oder eigene Services bekannt zu geben
- Das Paket cronie wird für die Konfiguration und Ausführung von wiederkehrenden Jobs verwendet.
Anschließend müssen die meisten von ihnen noch ”enabled” werden, sodass sie beim Systemstart automatisch mitgestartet werden. Dazu reichen folgende Befehle:
1 2 | systemctl enable acpid systemctl enable avahi-daemon |
Installation Bootloader
Nun soll, entsprechend der Anforderungen, der Bootloader ”Grub” installiert werden. Zunächst muss dieser mittels pacman heruntergeladen und das Programm installiert werden:
1 | pacman -S grub |
Für ein Booten über BIOS (wie es hier der Fall ist), wird Grub als Bootloader auf das Laufwerk /dev/sda installiert, wo dann die Boot-Informationen hinterlegt werden:
grub-install /dev/sda |
Darüber hinaus muss noch eine Grub-Konfigurationsdatei, die grub.cfg, erzeugt werden.Dies dient zum Beispiel dazu, die Boot-Einträge der Betriebssystem(e) im Boot-Menü auf-zunehmen. Zur Erzeugung dient folgender Befehl:
grub-mkconfig -o /boot/grub/grub.cfg |
Dann kann schlussendlich die Erstinstallation abgeschlossen werden. Verlassen Sie dazu die Arch-Chroot-Umgebung, unmounten Sie die einzelnen Partitionen und starten Sie den Computer neu. Sie sollten dann in ein fertiges Arch-Linux-System (ohne grafische Oberfläche) booten können.
exit umount /dev/sda2 umount /dev/sda1 poweroff |