I’ve been wanting to move
/boot onto a Btrfs subvolume for fun and profit (?) for a long time…
And since I’ve done it, finally, I want to share my experience and leave note to myself.
/boot on a Btrfs subvolume is not a big deal, but there is one important distinction with
When writing a BLS entry, ostree ‘hardcodes’ path to initramfs and kernel image to be absolute (i.e.
/ostree/<bootcsumdir>/<kernel_name>) on what it this is a boot partition.
And so, it is not enough to just change the path to a grub config file to include a name of your subvolume - you also have to make the subvolume a root (
/) for grub.
This is achievable with few RH-specific patches for GRUB that introduce
set btrfs_subvol=/boot set btrfs_relative_path=y
is what you have to include in your
grub.cfg residing on EFI system partition.
Please note that there are drawbacks to having
/boot on Btrfs, one of them is that grubenv will not get updated.
I am also not posting any instruction, since doing this involves quite a bit of risk.
Any feedback or comments is welcome of course!