On Wed, Apr 26, 2023, at 12:26 AM, Philip Rhoades via devel wrote:
People,
LILO and SysLinux were simple and GRUB1 was straightforward - but by the
time GRUB2 came around I was long past configuring my own kernels and
hacking around at a lower level . . now I think, finally, I need to know
more about how GRUB2 - works specifically with Fedoras 38+.
This current interest was prompted when I upgraded my WS from F37
KDE(->Sway) via a beta F38 LiveSway and found that /boot/grub2/grub.cfg
did not contain a menuentry for the latest F38!? - much hacking and
experimenting followed . .
There are no GRUB native menu entries anymore since Fedora 30. There are Boot Loader Spec
formatted "snippets" in /boot/loader/entries and Fedora's GRUB contains
blscfg.mod which is a GRUB module that provides GRUB with the ability to read BLS snippets
and create menu entries from them.
https://fedoraproject.org/wiki/Releases/30/ChangeSet#Make_BootLoaderSpec-...
So, I have git cloned the grub2 stuff and had a look at it but I am
too
old now to be digging around in that stuff just at the moment - so, has
any Fedora Guru produced a diagram or at least a point list, of what
Grub does from turning on the power to the display of the Grub menu on a
Fedora machine? - that would be nice as a more-detailed overview than I
have been able to find so far - but not so low-down I am amongst the
weeds . . that might come later . .
It's one of those cases of "no not that specification the other
specification". There's no way you'd know this is the case without some
digging.
Also since
https://fedoraproject.org/wiki/Releases/34/ChangeSet#Unify_the_GRUB_confi...
there are two grub.cfg files. One is on the EFI System partition and merely points to
(forwards) to the real one in /boot/grub2. This is consistent with BIOS and upstream
GRUB's location for the grub.cfg.
I guess hindsight being 20/20 we could have changed grubx64.efi to look for
"grub.static" in the same directory as the EFI program instead of
"grub.cfg" and then there'd only be one grub.cfg and it'd be the real
one rather than the forwarding one.
--
Chris Murphy