Arch Linux Basissystem mit UEFI, LUKS und GRUB Installation
Vorbereitung
uSD-Karte einlegen und Boot-USB-Stick anstecken, booten.
Beim Boot ist die US-Tastaturbelegung aktiv: ‚y ‚ durch ‚z‘ und ‚-‚ durch ‚ß‘ ersetzen
loadkeys de-latin1-nodeadkeys_________________________________loadkezs deßlatin1ßnodeadkezs |
Netzwerkverbindung herstellen und testen:
dhcpcdping -c3 www.archlinux.de |
Festplatte mit Zufallszahlen überschreiben
Platten und Plattennummerierung prüfen:
lsblk |
interne eMMC überschreiben:
dd status=progress if=/dev/urandom of=/dev/mmcblk1 |
GPT eMMC (mmcblk1) partitionieren
Folgende Partitionierung wird angestrebt:
LVM:
PV – Physical Volume
VG – Volume Group
LV – Logical Volume
Achtung
In der unten stehenden Installation wird KEIN „/home“ Verzeichnis angelegt, sondern nur „/“
|
Partition
|
Größe
|
Device
|
Erläuterung
|
|---|---|---|---|
| /boot | 512MB | mmcblk1p1 | 512MB ist die Mindestgröße, bedingt durch das FAT Dateisystem |
| / | komplette eMMC | mmcblk1p2 | Es wird weder „SWAP“ noch z.B. „/home“ als Partition angelegt, da LVM benutzt wird |
eMMC mmcblk1 partitionieren
lsblk |
Verifizieren, ob die eMMC als „mmcblk1“ eingebunden ist, dann mit „gdisk“ partitionieren:
gdisk /dev/mmcblk1o # neue leere GPT Partitionstabelle erstellenn # neue Partition erstellenENTER # Partionsnummer 1 bestätigenENTER # ersten Sektor bestätigen+512M # 512 MB große Partition anlegenef00 # Hexcode für EFI Bootn # neue Partition erstellenENTER # Partitionsnummer 2 bestätigenENTER # ersten Folgesektor bestätigenENTER # letzten Sektor bestätigen8e00 # Hexcode für Linux LVMp # Partitionierung prüfenw # Partitionierung schreibeny # bestätigen |
Ergebnis prüfen:
lsblk |
mmcblk1p1 – Boot Partition formatieren
mkfs.fat -F 32 -n EFI /dev/mmcblk1p1 |
mmcblk1p2 – LUKS einrichten
cryptsetup Performance testen:
cryptsetup benchmark |
Verschlüsselung
modprobe dm-cryptcryptsetup -c aes-xts-plain64 -y -s 512 luksFormat /dev/mmcblk1p2 |
Passwortvergabe
Hier wird jetzt ein komplexes Passwort /eine Passphrase notwendig, dann weiter mit:
cryptsetup luksOpen /dev/mmcblk1p2 lvm |
LVM – Volume und Groups erstellen
Achtung: den Unterschied zwischen "-L" und "-l" beachten:
pvcreate /dev/mapper/lvmvgcreate main /dev/mapper/lvmlvcreate -L 24GB -n root mainlvcreate -l 100%FREE -n swap main |
Regeln für die Größe der SWAP-Partition:
- kleiner Arbeitsspeicher bis 4 GB: Doppelter Arbeitsspeicher
- mittlerer Arbeitsspeicher bis 16 GB: 5-10% größer als der Arbeitsspeicher
- großer Arbeitsspeicher ab 16 GB : 5-10% größer als der Arbeitsspeicher oder keine SWAP_Partition
( je größer der Arbeitsspeicher, desto weniger wird eine SWAP Partition benötigt)
LVM setup prüfen:
pvsvgslvs |
Dateisysteme erstellen und mounten
mkfs.ext4 -L root /dev/mapper/main-rootmount /dev/mapper/main-root /mnt |
mkswap -L swap /dev/mapper/main-swapswapon /dev/mapper/main-swap |
mkdir -p /mnt/bootmount -L EFI /mnt/bootlsblk |
Basisystem
LAN Internetzugang einrichten
LAN / Ethernet Schnittstelle ermitteln:
ip link |
interne IP Adresse bestimmen:
alternativ oder zusätzlich: WLAN einrichten:
Mirrorliste bearbeiten
cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bakgrep -E -A 1 ".*Germany.*$" /etc/pacman.d/mirrorlist.bak | sed '/--/d' > /etc/pacman.d/mirrorlistnano /etc/pacman.d/mirrorlist------------------------------------------ alternativ "Reflector" benutzen -------------- :pacman -Syypacman -S reflectorreflector -c "Germany" -f 12 -l 10 -n 12 --save /etc/pacman.d/mirrorlist |
|
REFLECTOR
|
|
|---|---|
| -c | „Land“ in Anführungszeichen |
| -f | die schnellsten x Server |
| -l | nur die x zuletzt synchronisierten Server |
| -n | maximal x Server ausgeben |
| –save | sichere in nachfolgende Datei |
Aus der Mirrorliste alle weit entfernten Server jetzt mit # auskommentieren
Basissystem installieren
Achtung „pacstrap“ funktioniert nur, wenn vorab der Webfilter der Firewall deaktiviert wurde ! Nach erfolgreichem „pacstrap“ Webfilter wieder aktivieren !
pacstrap /mnt base base-devel linux linux-firmware nano |
fstab
genfstab -U -p /mnt >> /mnt/etc/fstabnano /mnt/etc/fstab |
fstab editieren und anpassen, da System auf einer emmc instaliert wird:
LABEL=p_arch / ext4 rw,defaults,noatime,discard 0 1LABEL=p_swap none swap defaults,noatime,discard 0 0 |
CHROOT vom Installationsmedium in das System
arch-chroot /mnt |
Systemkonfiguration
/etc/hostname
echo netzlos > /etc/hostname |
böse Gemüter dürfen hier auch „nutzlos“ als Hostnamen vergeben
/etc/locale.conf
echo LANG=de_DE.UTF-8 > /etc/locale.conf |
/etc/locale.gen
nano /etc/locale.gen |
Suchen und das # am Anfang folgender Zeilen entfernen:
de_DE.UTF-8 UTF-8de_DE ISO-8859-1de_DE@euro ISO-8859-15en_US.UTF-8 |
Hinweis: Suchen im Editor nano: Strg+W SUCHBEGRIFF↵ Enter Weitersuchen mit gleichem Suchbegriff erneut: Alt+W oder F16
locale-gen |
/etc/vconsole.conf
echo KEYMAP=de-latin1 > /etc/vconsole.confecho FONT=lat9w-16 >> /etc/vconsole.conf |
/etc/localtime
Die Zeitzone durch einen symbolischen Link festlegen:
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime |
/etc/hosts
cat /etc/hosts# 127.0.0.1 localhost.localdomain localhost::1 localhost.localdomain localhost |
Kernel-Image erzeugen
nano /etc/mkinitcpio.conf |
Die Zeile „HOOKS“ wie folgt korrigieren:
HOOKS=(base udev autodetect modconf block keyboard keymap encrypt lvm2 filesystems fsck shutdown)# Der "HOOKS" EIntrag ist wichtig für den Bootloader, der erst später installiert wird# Reihenfolge wichtig: "keyboard" vor "encrypt" und "encrypt" vor "lvm2" |
Kernel-Image erstellen:
Das Paket „lvm2“ muss nachinstalliert werden, sonst scheitert das Generieren der „Hooks“ und die Kernelerstellung
pacman -S lvm2mkinitcpio -p linux |
Root-Passwort vergeben
passwd |
Bootloader installieren
bootctl install |
# funktioniert nicht : ## blkid | grep mmcblk1p2 | cut -f2 -d\" > /boot/loader/entries/arch.conf ## stattdessen: #blkid > /boot/loader/entries/arch.conf |
mit – alle Zeilen ohne die UUID von mmcblk1p2 löschen
weiter alles außer die UUID löschen
nano /boot/loader/entries/arch.conf |
Datei wie folgt modifizieren:
title Arch Linuxlinux /vmlinuz-linuxinitrd /initramfs-linux.imgoptions cryptdevice=UUID=:lvm root=/dev/mapper/main-root rw lang=de init=/usr/lib/systemd/systemd locale=de_DE.UTF-8 |
cp /boot/loader/entries/arch.conf /boot/loader/entries/arch-fallback.confnano /boot/loader/entries/arch-fallback.conf |
title Arch Linux Fallbacklinux /vmlinuz-linuxinitrd /initramfs-linux-fallback.imgoptions cryptdevice=UUID=:lvm root=/dev/mapper/main-root rw |
nano /boot/loader/loader.conf |
timeout 2default arch |
zusätzliche wichtige Programme installieren
pacman -S dhcpcd |
Installations-System verlassen und reboot
exit # auslogen von arch-chrootumount -R /mntreboot |



