-
Prepare bootable USB stick
-
Boot the Raspberry Pi from the stick OR adjust the source partitions below if using a NVMe to USB adapter
-
Format NVMe drive to 4K sector size
apt install nvme-cli
nvme format /dev/nvme0n1 --lbaf=1- Create and format partitions
parted /dev/nvme0n1 -- mklabel gpt \
mkpart primary fat32 1MiB 1GiB \
mkpart primary linux-swap 1GiB 2GiB \
mkpart primary btrfs 2GiB 16GiB \
mkpart primary btrfs 16GiB 100%
mkfs.vfat -n system-boot /dev/nvme0n1p1
mkswap -L swap /dev/nvme0n1p2
mkfs.btrfs --csum xxhash -L writable /dev/nvme0n1p3
mkfs.btrfs --csum xxhash -L store /dev/nvme0n1p4- Copy existing installation, adjusting
fstab
mount /dev/sda1 /srv
mount /dev/nvme0n1p1 /mnt
rsync -aAXH /srv/ /mnt
sed -i 's/ext4/btrfs/g' /mnt/cmdline.txt
umount /srv /mnt
mount /dev/sda2 /srv
mount /dev/nvme0n1p3 /mnt
rsync -aAXH /srv/ /mnt
sed -i 's/ext4/btrfs/g' /mnt/etc/fstab
echo -e 'LABEL=store\t/srv\tbtrfs\tdefaults\t0\t1' >>/mnt/etc/fstab
echo -e 'LABEL=swap\tswap\tswap\tdefaults\t0\t0' >>/mnt/etc/fstab
umount /srv /mnt- Power off
systemctl poweroff