You've decided to stick your fingers in your ears,
ignoring all claims of instability and use btrfs as your root filesystem.
You want a subvolume as /
.
notes: btrfs subvolumes is best thought of as lightweight namespaces, you mount the same partition for all (sub)volumes and you specify the subvolume as a mount option.
tested on a dell xps9350: uefi, nvme ssd
mkfs.fat -F 32 /dev/nvme0n1p1
mkfs.btrfs /dev/nvme0n1p2
/btrfs
.mount -o compress=zstd /dev/nvme0n1p2 /mnt
mkdir /mnt/arch
btrfs subvolume create /mnt/arch/@
, the @
is just a naming conventionbtrfs subvolume create /mnt/arch/@home
umount /mnt
mount -o compress=zstd,subvol=arch/@ /dev/nvme0n1p2 /mnt
mkdir /mnt/boot
mount /dev/nvme0n1p1 /mnt/boot
mkdir /mnt/home
mount -o compress=zstd,subvol-arch/@home /dev/nvme0n1p2 /mnt/home
timedatectl set-ntp true
iwd station wlan0 connect $network
reflector --save /etc/pacman.d/mirrorlist -f 5 -p https
pacstrap /mnt base base-devel linux linux-firmware intel-ucode btrfs-progs zsh zsh-completions iwd git neovim
, minimal set of things to work comfortable after rebootgenfstab -U /mnt >> /mnt/etc/fstab
arch-chroot /mnt
passwd
bootctl install
echo "default arch\ntimeout 0\nconsole-mode max" > /boot/loader/loader.conf
The dell xps9350 has a shitty firmware that apparently doesn't pass the kernel cmdline properly(?) so systemd-boot is used
1title Arch Linux
2linux /vmlinuz-linux
3initrd /intel-ucode.img
4initrd /initramfs-linux.img
5options root=UUID=.... rootflags=compress=zstd:3,subvol=arch/@,... quiet rw