Currently, if you set up /boot as a btrfs subvolume, you wind up with a situation where the GRUB Hidden Menu feature does not work since grubenv is a file on the volume and cannot be written to since the Btrfs driver is read-only. The correct fix is to write grubenv in the Btrfs header space allocated specifically for bootloaders. The folks at SUSE have a patch for this that we should import into our grub2 package to resolve this: https://build.opensuse.org/projects/Base:System/packages/grub2/files/grub2-grubenv-in-btrfs-header.patch Reproducible: Always
Hi Neal, I can't find this patch upstream... could you please encourage SUSE to send it upstream first? thanks!
I will try.
Michael Chang notified me that he'll be able to look into this within the first two weeks of July.
Great. Thank you for that :)
Any Updates from SUSE on upstreaming their patch?
As promised, patch was sent upstream last week: https://lists.gnu.org/archive/html/grub-devel/2025-07/msg00129.html
There's now a v2 series that needs people to review it: https://lists.gnu.org/archive/html/grub-devel/2025-09/msg00127.html
The patch series has been revised to version 3: https://lists.gnu.org/archive/html/grub-devel/2025-10/msg00009.html
The patch series has been revised to version 4: https://lists.gnu.org/archive/html/grub-devel/2025-10/msg00172.html
Thank you for being patient, Neal. I know this is taking a long time, but we've heard from upstream that this patch set is almost there... We hope to be able to get it into fedora for you within the next week.
The patch series has been revised to version 5: https://lists.gnu.org/archive/html/grub-devel/2025-10/msg00261.html I believe this is the version that will land upstream.
The patch series has been revised to version 6: https://lists.gnu.org/archive/html/grub-devel/2025-10/msg00292.html
v6 has been accepted upstream https://lists.gnu.org/archive/html/grub-devel/2025-10/msg00292.html
And this commit is also needed for it to work https://cgit.git.savannah.gnu.org/cgit/grub.git/commit/?id=4f6c4609174d92c8b881bc5adb7fe971dd5cee0b
(In reply to Marta Lewandowska from comment #13) > v6 has been accepted upstream > https://lists.gnu.org/archive/html/grub-devel/2025-10/msg00292.html Actual link of acceptance: https://lists.gnu.org/archive/html/grub-devel/2025-10/msg00315.html
Neal, I have appended all related patches [1,2] into the dist-git spec file but I would like some testing before merge. Can you please test using the scratch build from pull-request [3]? Let me know if it works or some other pac [1] Add support for external environment block on Btrfs https://lists.gnu.org/archive/html/grub-devel/2025-10/msg00292.html [2] kern/fs: Honour file->read_hook() in grub_fs_blocklist_read() https://cgit.git.savannah.gnu.org/cgit/grub.git/commit/?id=4f6c4609174d92c8b881bc5adb7fe971dd5cee0b [3] https://src.fedoraproject.org/rpms/grub2/pull-request/196