Arch from Scratch

Installataion von Arch Linux

  • Mit verschlüsselter Festplatte
  • Mit LVM
  • Mit systemd-boot (UEFI)

Hier findet ihr eine deutschsprachige Anleitung, wie ihr Arch Linux von Grund auf installieren könnt.

Beachtet bitte, das dies keine allgemein gültige Anleitung für alle Usecase ist, sondern explizit und nur für den Fall funktioniert, das ihr euer System zum Beispiel mit verschlüsselten LVM einrichten wollt. Und auch nicht mit GRUB2 booten wollt sondern systemd-boot verwenden wollt.

Dafür funktioniert diese samlung an copy + paste befehlen. Aber für alles andere verwendet bitte unbedingt die offizielle Doku als primärquelle und nicht wie hier nur zur ergänzung.

Diese Anleitung empfiehlt ein zweiten (Linux-) Rechner um von dort aus sich die Befehle zu copy + pasten, im Arch Wiki nachzuschlagen und nicht alles von Hand aptippen zu müssen.

Vorgehensweise

  • USB Stick vorbereiten und davon Booten
  • Deutsch Tastaturbelegung
  • SSHD aktivieren und einloggen
  • Partionierung
  • Verschlüsseltes LVM einrichten
  • Dateisystem
  • Sprache
  • Kernel
  • Systemd-Boot
  • reboot

USB Stick vorbereiten und davon Booten

Kopiere das neuste Arch image von archlinux.de mit dd auf deinen USB Stick. Natürlich muss hier nicht /dev/usbstick angegeben werden sondern der Pfad zu deinem USBStick. Diesen bekommt man beispielsweise mit dem Programm ''lsblk'' raus. Er kann zB. ''/dev/sdb'' heißen.

sudo dd if=/pfad/zum/arch.iso bs=4M status=progres of=/dev/usbstick

Anschließend auf den USB Stick booten. Achte hierbei unbedingt darauf per UEFI zu booten und nicht über dieses legacy boot.

Deaktiviere ggf. legacy-boot im BIOS und auch die secureboot mechanismen im BIOS!

Deutsch Tastaturbelegung

loadkeys de-latin1

Im Englischen Tatstaturlayout sind y und z vertauscht.

SSHD aktivieren und einloggen

Starte den SSH Daemon um dich von einem anderen Rechner (von dem man copy und paste bedienen kann) auf der Maschine zur Neuinstallation anzumelden.

systemctl start sshd.service

Gebe dem root noch mit passwd ein Passwort.

Falls der Laptop keine IP hat, die Verkabelung aber passt kann man mit dhcpcd eine IP per DHCP holen. Quelle SSHD

Solltest du dich nur per WLAN verbinden zu können, kannst du dich per wifi-menu anmelden... Allerdings musst du selber wissen wie du das WLAN auf deinem System einrichtest und es ist dringend ein Kabel empfohlen!!!

Partitionierung

Was für Festplatten stehen dir zur Verfügung? Diese kannst du mit dem folgenden Befehl anzeigen: lsblk Partitioniere die Festplatte, die du verwenden möchtest. zB. /dev/sda Am besten mit:

cfdisk /dev/sda

Du benötigst eine Boot-Partition mit ca. 512MB mit dem Typ: EFI System. Und den restlichen Speicherplatz der Festplatte(n) für das LVM mit dem Linux filesystem.

Probleme?

Manchmal ist auch die Partitonierung mit gdisk eine bessere Wahl. Weiter Infos hier

Einige nützliche Codes:

ef02 - Bios Boot partition
ef00 - EFI system partition
8200 - Linux SWAP
8300 - Linux filesystem

ACHTUNG die Partition zum booten muss eine EFI Partition (ef00) sein!

Formatieren

Und natürlich die Festplatten noch ordentlich Formatieren mit dem shred Befehl z.B.:

shred -v -n 3 /dev/sda2

Verschlüsseltes LVM einrichten

Jetzt werden die benötigte Kernel-Modul für die Verschlüsselung geladen:

modprobe dm-crypt

Anschließend wird sda2 verschlüsselt. Welche Verschlüsselungsverfahren uns zur Verfügung stehen sehen wir mit folgenden Befehl:

cryptsetup benchmark

Mit der Methode aes-xts-plain und einem 512 großen Key geht das so:

cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda2

Nun wird die verschlüsselte Partition geöffnet und das LVM eingerichtet:

  cryptsetup luksOpen /dev/sda2 lvm

  pvcreate /dev/mapper/lvm
  vgcreate main /dev/mapper/lvm
  lvcreate -L 8GB -n swap main
  lvcreate -l 100%FREE -n root main

Dateisystem:

Mit mkfs wird nun das Dateisystem auf die Partitionen geschrieben:

mkfs.ext4 -L root /dev/mapper/main-root
mkswap -L swap /dev/mapper/main-swap
mkfs.vfat -F32 /dev/sda1

System mounten:

mount /dev/mapper/main-root /mnt
mkdir /mnt/boot
mount /dev/sda1 /mnt/boot

Quelle LVM Einrichten

Basissystem installieren:

pacstrap /mnt base base-devel vim dialog wpa_supplicant networkmanager tmux lvm2
# SWAP altivieren:
swapon -L swap
genfstab -U -p /mnt >> /mnt/etc/fstab
echo -e "Bitte die fstab kontrollieren:\n"
cat /mnt/etc/fstab

Nun wechsel in das System mit:

arch-chroot /mnt

Sprache

echo -e 'LANG="de_DE.UTF-8"\nLC_COLLATE="C"\nLC_TIME="de_DE.UTF-8"' > /etc/locale.conf

Die Zeitzone Einstellen:

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

Kernel

Installiere einen Kernel

sudo pacman -S linux

/etc/mkinitcpio.conf wird angepasst:

vim /etc/mkinitcpio.conf

` Die MODULES- und HOOKS-Werte werden entsprechend angepasst:

MODULES=(ext4)
HOOKS=(base udev autodetect modconf block keyboard keymap encrypt lvm2 filesystems fsck shutdown)

Hostename und Keybord anpassen:

hostnamectl set-hostname <your_hostname>
echo KEYMAP=de-latin1 >> /etc/vconsole.conf

Die Einträge mit de_DE* in der

/etc/locale.gen

einkommentieren und dann mit locale-gen aktivieren.

Kernel-Image erstellen:

mkinitcpio -p linux
systemctl enable dhcpcd.service

Systemd-Boot

bootctl install

Den bootloader-Eintrag erstellen. Z.B.:

echo -e "title Arch Linux Encrypted\
\nlinux /vmlinuz-linux\ninitrd /initramfs-linux.img\
\noptions cryptdevice=UUID=\
$(ls -la /dev/disk/by-uuid | grep sda2 | cut -d" " -f10)\
:lvm root=/dev/mapper/main-root quiet rw"> /boot/loader/entries/arch-encrypted-lvm.conf

Bitte /boot/loader/entries/arch-encrypted-lvm.conf nochmal überprüfen!

Quelle systemd-boot

reboot

System verlassen, umount und reboot:

exit
umount /mnt/{boot,}
reboot

Neues System einrichten

Nun sollte das System mit UEFI Booten und das Passwort für /dev/sda2 automagisch verlangen. Dort geht es dann erstmal darum das System einzurichten...

# Packete aktualisieren
pacman -Suy
# Passwort vergeben für root
passwd
# Example for adding User:
# useradd -m -G wheel -s /bin/bash archie
# Bash einrichten:
echo -e "if [ \"\$(id -u)\" == \"0\" ]; then\n\
  PS1='\[\033[01;31m\]\u\[\033[01;36m\]@\[\033[01;32m\]\H\[\033[01;34m\] <\A> \
\[\033[01;35m\] \j \[\033[01;36m\] \w \[\033[01;33m\]\\n\$\[\033[01;00m\] '\n\
else\n    PS1='\[\033[01;32m\]\u\[\033[01;36m\]@\[\033[01;32m\]\H\[\033[01;34m\] <\A> \
\[\033[01;35m\] \j \[\033[01;36m\] \w \[\033[01;33m\]\\n\$\[\033[01;00m\] '\nfi" >> /etc/bash.bashrc
echo -e "set expandtab\nset tabstop=4\
 \nset shiftwidth=4\nset fileencoding=utf-8\
 \nset encoding=utf-8\ncolorscheme elflord\
 \nsyntax on" > ~/.vimrc
 cp ~/.vimrc /etc/skel/.vimrc

Arch User Repository

Das ArchLinux User-Community Repository ist eine Sammlung von Paketbau-Anleitungen (den PKGBUILDs) anhand derer Programmpakete für Arch Linux mittels ABS erstellt werden können. Jeder kann dort seine Pakete nach einer Registrierung veröffentlichen und anderen zur Verfügung stellen. Diese Kann man über helfer installieren. Eine liste der aktiv entwickelten AUR Helfer gibt es auf wiki.archlinux.org

Arch User

Nun geht es weiter dem der Desktop-Oberfläche seiner wahl...

Zum Beispiel KDE oder I3

Natürlich braucht man dafür Xorg...

Hier gibt es noch ganz andere Religinen und Meinungen, was denn nun die richtige Desktop-Oberfläche ist. Und um da jedem die eigenen Erfahrungen und Entscheidungen machen lassen zu können ist hier nun keine so ausführlichere Anleitung mehr. Sorry.

Grob gesagt geht es weiter damit, dass man die Arch Wiki Seite seiner lieblings Desktop-Oberfläche aufruft.. Dort steht in der Regel wie man das Installiert. Normalerweise wird dabei immer ein X-System benötigt und die Oberfläche (zB. KDE) selber...

Probiere es doch mal aus und berichte von deinen Erfahrungen!