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
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!
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.orgArch User
Nun geht es weiter dem der Desktop-Oberfläche seiner wahl...
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!