Pop!OS with btrfs subvolumes installation setup guide.
my layout to create the btrfs subvolumes:
mount -o subvolid=5,defaults,compress=zstd:1,discard=async /dev/disk label name /mnt
btrfs subvolume create @
mv /mnt/* /mnt/@/
btrfs subvolume create /mnt/@home
mv /mnt/@/home/* /mnt/@home/
nano /mnt/@/etc/fstab
-- fstab (root) / defaults,subvol=@,compress=zstd:1,discard=async 0 0
-- fstab (home) /home defaults,subvol=@home,compress=zstd:1,discard=async 0 0
nano /mnt/@/etc/kernelstub/configuration
kernel options after "splash", add "rootflags=subvol=@"
mount /dev/disk boot label name /mnt/@/boot/efi
nano /mnt/@/boot/efi/loader/entries/Pop_OS-current.conf
add at the end rootflags=subvol=@
cd /
umount -l /mnt
mount -o subvol=@,defaults,compress=zstd:1,discard=async /dev/disk label name /mnt
for i in /dev /dev/pts /proc /sys /run; do mount -B $i /mnt$i; done
chroot /mnt
mount -av
update-initramfs -c -k all