Arch Linux minimal Installation

Ziel ist es, Arch Linux auf einer minimalen Installation zu installieren.

PartitionVerzeichnis/BereichParttionstypDateisystemGröße
sda1/Linux-Typ (root)ext4(Restspeicher)
sda2 /bootLinux-Typ ext4 1GB
sda127swapLinux-SwapSwap100MB
sda128BIOS boot partitionBIOS 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
[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)
[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
[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:

#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:

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:

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:

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:

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

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.