encrypted Archlinux-Installation mit btrfs
Die Anleitung erhebt keinen Anspruch auf Vollständigkeit. Sie ist ein reiner Notiz-Zettel. Anregungen nehme ich gern entgegen. :)
Disk
Partitionierung
Partition | Type (fdisk) | Grösse | Bemerkung |
---|---|---|---|
/dev/nvme0n1p1 | EF00 (1) | 512M | EFI/Boot |
/dev/nvme0n1p2 | crypt | 100%-512M | crypt |
Verschlüsselung
cryptsetup luksFormat /dev/nvme0n1p2
cryptsetup luksOpen /dev/nvme0n1p2 crypt
LVM
pvcreate /dev/mapper/crypt
vgcreate vg00 /dev/mapper/crypt
lvcreate -L 8G vg00 -n swap
lvcreate -l +100%FREE vg00 -n arch
Anmerkung: Swapfile auf BTRFS ist möglich aber nicht sinnvoll. Lieber eine extra Partition oder beziehungsweise ein LV.
Dateisystem
mkswap /dev/vg00/swap
mkfs.btrfs /dev/vg00/arch
swapon /dev/vg00/swap
mount /dev/vg00/arch /mnt
btrfs subvolume create /mnt/ROOT
umount /mnt
mount /dev/vg00/arch /mnt -o subvol=ROOT
mkfs.vfat -F 32 /dev/nvme0p1
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot/
Installation
Vorbereitung
- Color / Highlight f. Pacman aktivieren
- Parallele Downloads ermöglichen
vim /etc/pacman.conf
...
[options]
...
Color
...
ParallelDownloads = 5
...
Installation Grundsystem
pacstrap /mnt base base-devel linux linux-firmware btrfs-progs cryptsetup vim lvm2 terminus-font
KeyFile
dd bs=512 count=4 if=/dev/random iflag=fullblock | install -m 0600 /dev/stdin /etc/crypt.key
cryptsetup luksAddKey /dev/nvme0n1p2 /mnt/etc/crypt.key
Anpassung des neuen Systems
-
genfstab -U /mnt >> /mnt/etc/fstab echo hostname >> /mnt/etc/hostname echo LANG=de_DE.UTF-8 >> /mnt/etc/locale.conf echo KEYMAP=de-latin1 >> /mnt/etc/vconsole.conf echo FONT=ter-m22b >> /mnt/etc/vconsole.conf # arch-chroot /mnt vim /etc/locale.gen de_DE.UTF-8 UTF-8 bootctl install ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
- /etc/mkinitcpio.conf
BINARIES=(fsck fsck.btrfs btrfs btrfsck) FILES=(/etc/crypt.key) HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block filesystems fsck lvm2 encrypt resume shutdown)
mkinitcpio -p linux
-
pacman -Sy networkmanager tmux htop lnav nmap iperf3 intel-ucode systemctl enable NetworkManager passwd
BootLoader
- /boot/loader/loader.conf
timeout 5 console-mode auto auto-entries yes auto-firmware yes default arch.conf
- /boot/loader/entries/arch.conf
title Arch Linux linux /vmlinuz-linux initrd /intel-ucode.img initrd /initramfs-linux.img options cryptdevice=UUID=<UUID>:allow-discards cryptkey=rootfs:/etc/crypt.key root=/dev/vg00/arch rootflags=subvol=ROOT rw resume=/dev/vg00/swap nvidia-drm.modeset=1 apm=power_off
Abschluss
umount -R /mnt
reboot
Installation DesktopEnvironment
Login als root
pacman -S gdm gnome
systemctl enable gdm
systemctl enable sshd
pacman -S firefox{,-i18n-de} thunderbird{,-i18n-de} \
signal-desktop telegram-desktop gnome-tweaks prismlauncher \
steam libreoffice-still{,-de} nextcloud-client keepassxc \
cups gimp pinta gnome-firmware git mc
systemctl enable cups
systemctl enable bluetooth
localectl set-keymap de-latin1
localectl set-x11-keymap de
## AUR
cd /tmp/ ; git clone https://aur.archlinux.org/trizen.git ; cd trizen ; makepkg -si
trizen -S gnome-shell-extension-tray-icons-reloaded gnome-shell-extension-dash-to-dock
systemctl enable btrfs-scrub@-.timer
Nutzeranlage
NEWUSER=abcuser
useradd --btrfs-subvolume-home -m $NEWUSER
gpasswd -a $NEWUSER lp
gpasswd -a $NEWUSER adm
gpasswd -a $NEWUSER wheel
Updates des Artikels
- 2024-09-02
- pacstrap packages
- HOOKS
- change sda -> nvme0n1
- pacman Vorbereitung
- Korrektur Typos
- Bootloader
- 2024-09-03
- DesktopEnvironment