I am trying to achieve almost same btrfs subvolume partition table like Fedora Silverblue.
My silverblue subvolumes (its default fedora silverblue partition table):
$ sudo btrfs subvolume list /
ID 256 gen 155434 top level 5 path var
ID 257 gen 155434 top level 5 path home
ID 258 gen 155429 top level 5 path root
I know there is a waiting issue for subvolume ignition support here: Support creating and mounting Btrfs subvolumes · Issue #890 · coreos/ignition · GitHub.
Just I want to know if there is a manual way to do that atm.
AFAIK, /etc is outside of the immutable portion of the ostree, so you should be able to setup the subvols and add them to /etc/stab using the UUID from
sudo blkid like this (note that /home is a subvol with the same UUID as / in this example and the subvol option specifies which subvol to mount to that location):
UUID=4b26d2ad-8c5b-4086-a5da-fa114663c9f9 / btrfs subvol=root,x-systemd.device-timeout=0 0 0
UUID=fcc0be44-1392-45e5-af17-03672387d7d9 /boot ext4 defaults 1 2
UUID=7945-47B0 /boot/efi vfat umask=0077,shortname=winnt 0 2
UUID=4b26d2ad-8c5b-4086-a5da-fa114663c9f9 /home btrfs subvol=home,x-systemd.device-timeout=0 0 0
I could be wrong but I think you might want
/home to be at
/var/home instead on CoreOS.
I don’t think It will work without mounting root partition (with live cd or on another distribution) and then creating subvolumes and moving/copying files to corresponding subvolume folders. The problem I have, finding correct subvolume/folder match for copy. fstab is the last part of the process.