I see frequently blames about the lack of support for environment block in common installation setups, like LVM, Btrfs, etc. I know that it is complicated to write into those FS. So, why not have a dedicated 1k space in disk?
I know that I can configure a dedicated /boot partition using a supported FS. However, it is too much because of a single 1k. /boot also can goes full if kernel images piles up.
Grub already needs an extra space for stage1.5 on MBR or BIOS partition. Couldn't we reserve the first 1k (or the immediate space after stage 1.5) for environment block? I know that sometimes even 1k is too much in the first 64 sectors, but today we normally have plenty of space. If there is no space, ask user to start the first partition further (I guess it already need 2048 for btrfs support) or give a bigger bios partition (it will really never happen).
I guess it might not be a too big chance. Environment block could be after grub stage1.
load_env would need to to change in order to optionally check for this environment block. grub2-setenv will now need to write directly to a disk block, just like grub-install does.
I don't hope that a solution like this will solve all different config. This is an alternative solution that needed to be selected either at grub-install stage or maybe writting specific grub.cfg that uses an alternative load_env call.