Once you have booted the archiso, follow the instructions, and use iwctl
to set up the network (station list
to see the available devices, then station <wlan0> connect <network-name>
to connect).
Change the keyboard to the one that matches your machine as per the archlinux instructions.
Using parted
we are going to create the following layout:
Partition Num | Description | Size | Format |
---|---|---|---|
1 | EFI Boot | 512MB | fat32 |
2 | Boot | 600MB | |
3 | Root | The Rest | LVM |
The final partition will be encrypted and split into a system partition, a swap partion, and a home partition:
Volume Num | Description | Size | Format |
---|---|---|---|
1 | Swap | 8GB | swap |
2 | Root | 100GB | btrfs |
3 | Home | Rest | btrfs |
Use parted
to partition the disk with a boot partition and a large partition for everything else (to be encrypted):
parted /dev/nvme0n1
mklabel gpt
# EFI boot partition
mkpart eps fat32 1MiB 200MiB
set 1 boot on
name 1 efi
# Boot partition
mkpart primary 200MiB 800MiB
name 2 boot
# Root partition
mkpart primary 800MiB 100%
set 3 lvm on
name 3 lvm
# check it's all right
print
# quit
quit
And now we start encryption and create the filesystems
cryptsetup luksFormat /dev/nvme0n1p3
cryptsetup open /dev/nvme0n1p3 cryptlvm
# prepare volume group
pvcreate /dev/mapper/cryptlvm
vgcreate MainVolGroup /dev/mapper/cryptlvm
# prepare logical volumes (partitions)
lvcreate -L 8G MainVolGroup -n swap
lvcreate -L 100G MainVolGroup -n root
lvcreate -l 100%FREE MainVolGroup -n home # NB small "l"
# format filesystems
mkfs.btrfs -L root /dev/MainVolGroup-root
mkfs.btrfs -L home /dev/MainVolGroup-home
mkfs.fat -F32 /dev/nvme0n1p1
mkfs.ext4 /dev/nvme0n1p2
mkswap /dev/MainVolGroup-swap
# mount FS and create home link
swapon /dev/MainVolGroup/swap
mount /dev/MainVolGroup-root /mnt
mkdir -p /mnt/{home,boot}
mount /dev/MainVolGroup-home /mnt/home
mount /dev/nvme0n1p2 /mnt/boot
mkdir /mnt/boot/efi
mount /dev/nvme0n1p1 /mnt/boot/efi
pacstrap -K /mnt base base-devel linux linux-firmware \\
sof-firmware iwd lvm2 btrfs-progs \\
vim man-db man-pages texinfo \\
polkit efibootmgr grub