a minor merge conflict: This patch in particular needs to be rebased to latest master
otherwise I am seeing this on my b4 command $ b4 shazam https://lore.kernel.org/grub-devel/CAEg-Je8-yE=upfm3rg_4lug1frhhgdtco9teuore3n3cvqa...@mail.gmail.com/T/#t Grabbing thread from lore.kernel.org/all/caeg-je8-ye%[email protected]/t.mbox.gz Checking for newer revisions Grabbing search results from lore.kernel.org Analyzing 19 messages in the thread Analyzing 99 code-review messages Checking attestation on all messages, may take a moment... --- ✗ [PATCH v6 1/12] misc: add z length modifier support ✗ [PATCH v6 2/12] tests: add z modifier printf tests ✗ [PATCH v6 3/12] util/grub-editenv: add fs_envblk open helper ✗ [PATCH v6 4/12] util/grub-editenv: add fs_envblk write helper ✗ [PATCH v6 5/12] util/grub-editenv: wire set_variables to optional fs_envblk ✗ [PATCH v6 6/12] util/grub-editenv: wire unset_variables to optional fs_envblk ✗ [PATCH v6 7/12] util/grub-editenv: wire list_variables to optional fs_envblk ✗ [PATCH v6 8/12] util/grub-editenv: add probe call for external envblk ✗ [PATCH v6 9/12] btrfs: add environment block to reserved header area ✗ [PATCH v6 10/12] 00_header.in: wire grub.cfg to use env_block when present ✗ [PATCH v6 11/12] docs: add Btrfs env block and special env vars ✗ [PATCH v6 12/12] btrfs: update doc link for bootloader support --- ✗ BADSIG: DKIM/suse.com --- Total patches: 12 --- Applying: misc: add z length modifier support Applying: tests: add z modifier printf tests Applying: util/grub-editenv: add fs_envblk open helper Applying: util/grub-editenv: add fs_envblk write helper Applying: util/grub-editenv: wire set_variables to optional fs_envblk Applying: util/grub-editenv: wire unset_variables to optional fs_envblk Applying: util/grub-editenv: wire list_variables to optional fs_envblk Applying: util/grub-editenv: add probe call for external envblk Applying: btrfs: add environment block to reserved header area Applying: 00_header.in: wire grub.cfg to use env_block when present Applying: docs: add Btrfs env block and special env vars Patch failed at 0011 docs: add Btrfs env block and special env vars error: patch failed: docs/grub.texi:3271 error: docs/grub.texi: patch does not apply hint: Use 'git am --show-current-patch=diff' to see the failed patch hint: When you have resolved this problem, run "git am --continue". hint: If you prefer to skip this patch, run "git am --skip" instead. hint: To restore the original branch and stop patching, run "git am --abort". hint: Disable this message with "git config set advice.mergeConflict false" On Fri, Oct 17, 2025 at 3:04 AM Michael Chang via Grub-devel < [email protected]> wrote: > Update grub.texi to describe the external environment block in the > reserved area of Btrfs header used for grub-reboot and savedefault, and > add a section documenting the saved_entry, next_entry, and env_block > variables. > > Signed-off-by: Michael Chang <[email protected]> > Reviewed-by: Neal Gompa <[email protected]> > Reviewed-by: Daniel Kiper <[email protected]> > --- > docs/grub.texi | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++ > 1 file changed, 60 insertions(+) > > diff --git a/docs/grub.texi b/docs/grub.texi > index 34b3484dc..6ffb3a370 100644 > --- a/docs/grub.texi > +++ b/docs/grub.texi > @@ -3271,6 +3271,7 @@ GRUB. Others may be used freely in GRUB > configuration files. > @menu > * Special environment variables:: > * Environment block:: > +* Special environment block variables:: > @end menu > > > @@ -3868,9 +3869,68 @@ For safety reasons, this storage is only available > when installed on a plain > disk (no LVM or RAID), using a non-checksumming filesystem (no ZFS), and > using BIOS or EFI functions (no ATA, USB or IEEE1275). > > +On Btrfs filesystems, a reserved area in the filesystem header may be > used to > +store the environment block. This static block avoids the problems of > updating > +a normal file on a copy-on-write filesystem, where writing raw block is > not > +stable and requires metadata update. The reserved area provides a fixed > +location that GRUB can update directly, allowing commands such as > +@command{grub-reboot} and @samp{GRUB_SAVEDEFAULT} to function correctly on > +Btrfs volumes. > + > @command{grub-mkconfig} uses this facility to implement > @samp{GRUB_SAVEDEFAULT} (@pxref{Simple configuration}). > > + > +@node Special environment block variables > +@section Special environment block variables > + > +These special variables are usually written to the environment block > +(@pxref{Environment block}) to customize the behavior of @file{grub.cfg} > +generated by @command{grub-mkconfig}. > + > +@menu > +* saved_entry:: > +* next_entry:: > +* env_block:: > +@end menu > + > + > +@node saved_entry > +@subsection saved_entry > + > +The @var{saved_entry} variable sets the default boot entry in > @file{grub.cfg} > +created by @command{grub-mkconfig}. It can be set with > +@command{grub-set-default} to choose a default entry, or at runtime with > the > +@code{savedefault} function in grub.cfg to save the current entry as the > new > +default. This may require write access by GRUB. > + > + > +@node next_entry > +@subsection next_entry > + > +The @var{next_entry} variable sets the boot entry for the next boot only. > After > +it is used, GRUB clears the value so it is not reused. This requires write > +access to the environment block (@pxref{Environment block}) at runtime. > The > +@command{grub-reboot} command is usually used instead of changing this > variable > +directly. > + > + > +@node env_block > +@subsection env_block > + > +If the filesystem is Btrfs and the disk is not an abstracted device such > as > +LVM, RAID, or encryption, the reserved space in the Btrfs header can be > used as > +the environment block (@pxref{Environment block}). This provides a fixed > raw > +block that GRUB can reliably write to. The @var{env_block} records this > +location in GRUB blocklist syntax (@pxref{Block list syntax}) so that > +@command{grub-editenv} and @file{grub.cfg} know how to access and use the > +external raw block. > + > +This variable is initialized when @file{grubenv} is first created by > +@command{grub-editenv} and is treated as read-only to avoid being > overwritten > +with an unpredictable value. > + > + > @node Modules > @chapter Modules > > -- > 2.51.0 > > > _______________________________________________ > Grub-devel mailing list > [email protected] > https://lists.gnu.org/mailman/listinfo/grub-devel >
_______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
