The installation guide left questions with me, and I ended up scouring the internet quite a bit (Google, irc, Arch wiki, forums, etc) and finally got a bootable machine today.
Here’s a quick note to any other adventurers trying out a full disk btrfs machine with Arch.
Follow the basic installation instructions for Arch until you hit the ‘Partition Disks’ step. At this point, you’ll want to do the following:
Delete all existing partitions on the drive
At this point, use
gdisk to delete any existing partions. This will, of course,
cause the removal of any data from this device.
We will be using a full-disk btrfs installation, having any other partitions will
cause problems with
Make the entire disk a btrfs filesystem
If any partitions remained on
/dev/sda, you may need to pass the
grub-install to place itself in the 64k buffer btrfs leaves for
boot loader occupation.
Create some subvolumes
This creates a root container, “@”, and subvolumes for home, var, and usr. Subvolumes in btrfs should be conceptualized as akin to partitions. The ‘_snapshots’ subvolume will be used to collect snapshots of the other subvolumes.
Verify the subvolumes we just created
The result should show the three subvolumes we created earlier, home, usr, and var.
Awesome! At this point, we can continue with the installation guide, picking up after the “Mount the partitions” step. Note - Use all of the flags that you want the volumes mounted with when mounting to /mnt - genfstab uses this information.
The next place we need to do things a bit differently is…
Install and configure a boot loader
This is the magic recipe to make the system bootable! It took quite a few different combinations of grub configuration, GPT configuration, and mkinitcpio before I found this simple solution. At this point, the installation guide can be picked back up and followed to completion!