Alpha releases are essentially release candidates for Beta and
eventually Stable. This is important in order for releases to be well
tested before they reach stable, any difference between alpha/beta and
stable can lead to broken releases. One of the few times we deviated
from this sequence we introduced a regression in stable which had
worked in alpha. :(
That said, even if we don't ship btrfs by default as ROOT in our
images it is possible to wipe ROOT and replace it with the filesystem
of your choice, the bare necessities required in the filesystem will
be initialized on boot. For example, to reformat ROOT in the base
image:
# losetup --find --partscan --show coreos_production_image.bin
/dev/loop0
# wipefs -a /dev/loop0p9
/dev/loop0p9: 2 bytes were erased at offset 0x00000438 (ext4): 53 ef
# mkfs.btrfs -L ROOT /dev/loop0p9
fs created label ROOT on /dev/loop0p9
nodesize 16384 leafsize 16384 sectorsize 4096 size 2.11GiB
# mount -t btrfs /dev/loop0p9 /mnt
# btrfs subvol create /mnt/root
Create subvolume '/mnt/root'
# btrfs subvol list /mnt/root
ID 257 gen 6 top level 5 path root
# btrfs subvol set-default 257 /mnt
# umount /mnt
# losetup -d /dev/loop0
That last bit tediousness is just there to create a subvolume named
'root' which will be mounted to / instead of the top level subvolume.
This isn't required but is how we currently setup btrfs and is super
helpful if you want to take snapshots of the filesystem.