Instalacja archa z szyfrowaniem dysku

Źródła:

$ timedatectl set-ntp true

$ parted

(parted) mklabel gpt
(parted) mkpart "EFI system partition" fat32 1MiB 301MiB
(parted) set 1 esp on
(parted) mkpart cryptroot ext4 301MiB 100%
^C

$ mkfs.fat -F 32 /dev/nvme0n1p1

$ cryptsetup luksFormat /dev/nvme0n1p2
$ cryptsetup open /dev/nvme0n1p2 cryptlvm
$ pvcreate /dev/mapper/cryptlvm
$ vgcreate MyVolGroup /dev/mapper/cryptlvm
$ lvcreate -L 8G MyVolGroup -n swap # tyle GB ile ramu
$ lvcreate -l 100%FREE MyVolGroup -n root

$ mkswap /dev/MyVolGroup/swap
$ mkfs.ext4 /dev/MyVolGroup/root

$ mount /dev/MyVolGroup/root /mnt
$ mkdir /mnt/boot
$ mount /dev/nvme0n1p1 /mnt/boot
$ swapon /dev/MyVolGroup/swap

$ reflector --latest 5 --sort rate --save /etc/pacman.d/mirrorlist
$ pacstrap /mnt base linux linux-firmware dhcpcd iwd git emacs man-db man-pages lvm2 grub efibootmgr

$ genfstab -U /mnt >> /mnt/etc/fstab
$ arch-chroot /mnt
$ ln -sf /usr/share/zoneinfo/Poland /etc/localtime
$ hwclock --systohc

# odkomentuj en_US.UTF-8 i pl_PL.UTF-8 w /etc/locale.gen
$ locale-gen
$ echo "LANG=en_US.UTF-8" > /etc/locale.conf
$ echo "mojkomp" > /etc/hostname

Wyedytuj /etc/mkinitcpio.conf tak, aby linijka HOOKS wyglądała tak:

HOOKS=(base udev autodetect keyboard keymap consolefont modconf block encrypt lvm2 filesystems fsck)
$ mkinitcpio -P

Wczytaj UUID partycji z lvm2:

$ lsblk -dno UUID /dev/nvme0n1p2

następnie w /etc/default/grub dodaj do GRUB_CMDLINE_LINUX_DEFAULT:

cryptdevice=UUID=%%%%%:cryptlvm root=/dev/MyVolGroup/root

(%%% należy zastąpić UUID z poprzedniego kroku)

grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg