Archlinux installieren

Published / by roarvo / Leave a Comment

Erste Schritte

Im Folgenden zeige ich euch exemplarisch wie man Arch Linux installiert. Ich werde das ganze für ein 64-Bit System machen, sollte euch der Unterschied zu 32-Bit nichts sagen, so empfehle ich euch mal darüber nachzulesen.

Ladet die aktuelle ISO von https://www.archlinux.org/download/ herunter. Im folgenden erläutere ich wie man Arch Linux vom USB Stick installiert, da die ISO zu groß für einen CD Rohling ist und ein USB Stick umweltfreundlicher ist. Befindet ihr euch auf einem Windows System so ladet euch am besten Rufus runter. Die Installation der ISO auf den USB Stick ist dabei selbsterklärend. Von einer GNU/Linux Distribution aus könnt ihr einfach als root, bzw. sudo voranstellen, folgenden Befehl ausführen

# dd bs=4M if=/path/to/archlinux.iso of=/dev/sdx status=progress && sync

if steht für input file und of für output file, statt /dev/sdx sollte hier euer USB Stick stehen, z. B. /dev/sdc (nicht /dev/sdc1), dies könnt ihr mit lsblk herausbekommen.

Installationsmedium booten

So bald ihr erfolgreich euer Installationsmedium erstellt habt, bootet ihr euren Computer mit diesem. Dazu sollte das Medium angesteckt sein und während dem Bootvorgang sollte man je nach Mainboard F11 oder ähnlich drücken um das Medium, von dem gebootet werden soll, auzusuchen. Alternativ könnt ihr in euren BIOS Einstellungen die Bootreihenfolge ändern. Habt ihr nicht gerade ein steinaltes Mainboard solltet ihr eine UEFI Installation durchführen, dazu solltet ihr darauf achten den USB Stick im UEFI Modus zu booten. Sobald der Bootvorgang abgeschlossen ist wird euch die zsh Shell präsentiert, in der ihr als Root angemeldet seid.

Die Installation

Tastaturlayout einstellen

Standardmäßig ist die Tastatur auf amerkanisch eingestellt, daher solltet ihr zunächst das Tastaturlayout auf deutsch umstellen.

# loadkeys de-latin1

Überprüfen auf UEFI

Überprüft zunächst ob ihr im UEFI Modus seid, dazu sollte

# ls /sys/firmware/efi/efivars

keinen leeren Ordner ausgeben. Seid ihr nicht im UEFI Modus, so existiert der Ordner garnicht.

Internetverbindung herstellen

Ich empfehle euch, auch an einem Laptop, eine Verbindung über ein Ethernet Kabel. Um die Bezeichnung euerer Netzwerkkarte herauszufinden macht ihr folgendes

# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT group default qlen 1000
    link/ether d4:3d:7e:e4:f4:c9 brd ff:ff:ff:ff:ff:ff

Dann heißt eure Netzwerkkarte enp3s0, achtung lo ist immer Loopback und nicht die Netzwerkkarte. Überprüft euere Verbindung mit

ping -c3 www.google.com

sollten alle Pakete angekommen sein, so besteht eine Internetverbindung. Sollte dies nicht der Fall sein so müsst ihr den dhcpcd service starten

# systemctl start dhcpcd@enp3s0.service

Die richtige Zeit

Überprüft eure Zeiteinstellung mit

# timedatectl

Sollte die Zeit nicht richtig eingestellt sein, so könnt ihr Sie einstellen

# timedatectl set-time "yyyy-MM-dd hh:mm:ss"

Partitionierung der Festplatte

Um die Festplatte zu partitionieren müssen wir zunächst die Vorhandenen Festplatten identifizieren:

# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0     8G  0 disk

Wir starten GNU fdisk für /dev/sda. Wir partitionieren unsere Festplatte wie folgt, achtung cgdisk nicht fdisk:

# cgdisk /dev/sda

Euch wird in etwa folgendes prästentiert:

Sollten bereits bestehende Partitionen vorhanden sein, so wählt diese aus und löscht diese mit [ Delete ]. Geht auf [ New ] um eine neue Partition zu erstellen. Der erste Sector kann bei dem default Wert belassen werden, also Eingabe drücken. Unsere Bootpartition soll 512MiB groß sein, gebt also 512M ein. Für UEFI benötigt ihr den hex code ef00, ef02 falls ihr eine BIOS Partitionierung vornehmt, und als Name wählen wir boot. Exemplarisch erzeugen wir im Folgenden eine Swap Partition und eine Root Partition. Genauso könnt ihr noch eine separate Home Partition mit dem hex code 8300 erstellen. Also nun zu Swap, wir erstellen eine neue Partition. Dazu wählen wir als Startsektor wieder default und wählen für die Größe nach der Daumenregel: halbe RAM Größe falls ihr Ruhezustand nicht verwendet, ansonsten RAM Größe. Über die Größe der Swap Partition oder ob man überhaupt eine benötigt, wenn man viel RAM hat lässt sich streiten, daher die Daumenregel. Ich wähle hier Beispielhaft 2 GiB, gebe also 2G ein. Der hex code für Swap ist 8200, und wir vergeben den Namen swap. Bleibt nur noch die Root Partition. Wir erstellen wieder eine neue Partition und drücken zwei mal Eingabe, da wir die restliche Festplatte verwenden wollen. Hex code ist 8300 und wir nennen die Root Partition natürlich root. Zum Abschluss wählen wir [ Write ], bestätigen mit yes und beenden fdisk.

Formatieren der Partitionen

Solltet ihr eine UEFI Boot Partition erstellt haben, so formatieren wir die Partition mit

# mkfs.fat -F32 /dev/sda1

anderenfalls für BIOS formatieren wir die Boot Partition als ext4

# mkfs.ext4 /dev/sda1

Ebenso formatieren wir die Root Partition als ext4

# mkfs.ext4 /dev/sda3

Solltet ihr euch für alternative Dateisysteme interessieren, so werft mal einen Blick auf btrfs. Die Swap Partition formatieren und aktivieren wir mit

# mkswap /dev/sda2 
# swapon /dev/sda2

Installation von Arch Linux

Zunächst müssen wir unsere neu erstellten Partitionen einhängen:

# mount /dev/sda3 /mnt

dann erstellen wir den Einhängepunkt für die Boot Partition und hängen diese ein

# mkdir /mnt/boot
# mount /dev/sda1 /mnt/boot

Die zu installierenden Pakete müssen von Mirror-Servern heruntergeladen werden, die in /etc/pacman.d/mirrorlist definiert sind. Zunächst sind alle aktiviert und durch ihren Synchronisationsstatus und ihre Geschwindigkeit zum Zeitpunkt der Installation sortiert. Diese Liste könnt ihr wahlweise anpassen

# vi /etc/pacman.d/mirrorlist

Zunächst kommentieren wir alle Server aus

:%s/Server/#Server/g

Bewegt den Cursor dann über die # vor dem Server den ihr benutzen wollt und drückt x zum löschen der # und zum Schluss speichert ihr die Datei mit :x Danach installieren wir das Grundsystem

# pacstrap /mnt base base-devel

Konfigurieren von Arch Linux

Nun haben wir die Pakete des Arch Linux Grundsystems installiert. Wir erzeugen jetzt die fstab mit

# genfstab -U /mnt > /mnt/etc/fstab

Überprüft das Ergebnis mit

# cat /mnt/etc/fstab

Es sollte, für eine UEFI Installation, in etwa wie folgt aussehen:

#
# /etc/fstab: static file system information
#
# <file system>    <dir>    <type>   <options>    <dump>    <pass>
# /dev/sda3
UUID=8a48593f-cdf0-4a2c-a9e5-b15aadec25e2    /        ext4          rw,relatime,data=ordered    0 1

# /dev/sda1
UUID=97F6-AAB7          /boot         vfat     rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro   0 2
# /dev/sda2
UUID=26392fcd-60cd-4ae5-86cb-a84ff747d5d3    none          swap          defaults  0 0

Sollte hier etwas fehlen, so habt ihr eventuell vergessen eine Partition einzuhängen oder die Swap Partition zu aktivieren, es sollten in unserem Fall also jeweils einträge für sda1, sda2 und sda3 vorhanden sein. Wir wechseln die Umgebung vom USB Stick in unsere Arch Linux Installation

# arch-chroot /mnt /bin/bash

Um unsere Systemsprache auf deutsch zu stellen bearbeiten wir die Datei /etc/locale.gen

# vi /etc/locale.gen

Mit / suchen wir nach #de_AT.UTF-8 UTF-8 und löschen das # davor mit x und speichern mit :x die Datei ab und generieren die locale mit

# locale-gen

Die Änderung des Tastaturlayouts müssen wir in /etc/vconsole.conf schreiben, dies geht am einfachsten mit

# echo KEYMAP=de-latin1 > /etc/vconsole.conf

Die Zeitzone stellen wir wie folgt ein:

# ln -s /usr/share/zoneinfo/Europe/Berlin /etc/localtime

empfohlen wird auch die Hardware Uhr zu setzen:

# hwclock --systohc --utc

Bootloader installieren

Um das System booten zu können müssen wir einen Bootloader installieren. Habt ihr eine Intel CPU so installiert zunächst das intel-ucode Paket mit

# pacman -S intel-ucode

Für die UEFI Installation installieren wir den Bootloader nun wie folgt:

# bootctl --path=/boot install

Danach erstellen wir einen Boot Eintrag /boot/loader/entries/arch.conf mit folgendem Inhalt

title	Arch Linux
linux	/vmlinuz-linux
initrd	/intel-ucode.img
initrd	/initramfs-linux.img
options root=/dev/sda3 rw

wobei der Eintrag initrd /intel-ucode.img nur für Intel Chips dabei ist.

Für BIOS

Für die BIOS Installation müssen wir zunächst das grub Paket installieren

# pacman -S grub

und dann grub installieren

# grub-install --target=i386-pc /dev/sda

sowie die grub.cfg erzeugen

# grub-mkconfig -o /boot/grub/grub.cfg

Netzwerk konfigurieren

Wir setzen unseren Host Name

# echo meinhostname > /etc/hostname

und aktivieren den dhcpcd Service

# systemctl enable dhcpcd@enp3s0.service

Anschließend ändern wir das Root Passwort

# passwd

legen einen neuen Benutzer an, mit der Gruppe users und treten den Gruppen wheel, storage und power bei

# useradd -m -g users -G wheel,storage,power -s /bin/bash benutzer

und ändern dessen Passwort

# passwd benutzer

Danach bearbeiten wir die sudoers Datei um Mitgliedern der Gruppe wheel zu ermöglichen Befehle mit sudo auszuführen

# visudo

Möglicherweise muss man vorher noch vim installieren dies geht dann mit

# pacman -S vim

Jetzt müssen wir den Kommentar vor %wheel ALL=(ALL) ALL entfernen. Für die Unterstützung von 32-Bit Programmen kommentieren wir mit vi /etc/pacman.conf folgenden Bereich aus

#[multilib]
#Include = /etc/pacman.d/mirrorlist

Um in der Bash Autovervollständigung zu erhalten installieren wir uns dann noch bash-completion

# pacman -S bash-completion

Jetzt haben wir endlich erfolgreich Arch Linux installiert und können unser System starten, dazu verlassen wir zunächst die Installationsumgebung

# exit

und hängen die eingebundenen Partitionen aus

# umount -R /mnt

und starten den Computer neu

# reboot

Willkommen bei Arch Linux!

Am besten aktualisiert ihr zunächst für alle Fälle das System

sudo pacman -Syu

Desktopumgebung

Die wenigsten von euch, mich eingeschlossen, werden wohl ohne Desktopumgebung arbeiten, daher zeige ich euch noch wie man Gnome installiert. Zunächst benötigen wir einige Pakete für die Grafikkarte (hier Nvidia, für AMD müsst ihr euch schlau machen)

$ sudo pacman -S nvidia nvidia-libgl lib32-nvidia-libgl lib32-nvidia-utils

Danach benötigen wir noch den mesa für OpenGL

$ sudo pacman -S mesa

und Xorg als display server

$ sudo pacman -S xorg-server xorg-server-utils xorg-xinit xorg-twm xorg-xclock xterm

Sobald all dies installiert ist benötigen wir nur noch das Gnome Paket

$ sudo pacman -S gnome

Dann müssen wir nur noch den Gnome Desktop Manager Service aktivieren

$ sudo systemctl enable gdm.service

und nach dem Neutstart begrüßt uns eine graphische Oberfläche.