Short of implementing btrfs environment-block support for GRUB, we need a better workaround that doesn't involve manually hacking config files.
The scripts in /etc/grub.d/ can determine the type of the root filesystem---we see this in /etc/grub.d/10_linux, assigning to GRUBFS---so there's no reason why the workaround Colin gave in comment 10 cannot be automated.
I'm attaching a proof-of-concept patch, against /etc/grub.d/00_header as of Quantal, that conditionalizes inclusion of the grubenv code on the type of the root filesystem. If "/" is on btrfs, then a warning is printed, and an alternate bit of code is put into /boot/grub/grub.cfg.
Ubuntu folks: Can we get something like this in, for the time being? The "sparse file not allowed" error prompt is a rough edge that *needs* to go away.
Short of implementing btrfs environment-block support for GRUB, we need a better workaround that doesn't involve manually hacking config files.
The scripts in /etc/grub.d/ can determine the type of the root filesystem---we see this in /etc/grub. d/10_linux, assigning to GRUBFS---so there's no reason why the workaround Colin gave in comment 10 cannot be automated.
I'm attaching a proof-of-concept patch, against /etc/grub. d/00_header as of Quantal, that conditionalizes inclusion of the grubenv code on the type of the root filesystem. If "/" is on btrfs, then a warning is printed, and an alternate bit of code is put into /boot/grub/ grub.cfg.
Ubuntu folks: Can we get something like this in, for the time being? The "sparse file not allowed" error prompt is a rough edge that *needs* to go away.