On Thu, Jan 6, 2022 at 11:41 AM Adam Williamson
<adamwill(a)fedoraproject.org> wrote:
On Thu, 2022-01-06 at 11:31 -0700, Chris Murphy wrote:
> On Thu, Jan 6, 2022 at 1:23 AM Tomasz Torcz <tomek(a)pipebreaker.pl> wrote:
>
> > My rawhide system seem to have both and boot even other kernel:
> >
> > tree /boot/efi
> > /boot/efi
> > ├── 6a1b72cbb94d4c95a4ac9df2d581e371
> > │ ├── 0-rescue
> > │ │ ├── initrd
> > │ │ └── linux
> > │ ├── 4.16.0-0.rc5.git2.1.fc29.x86_64
> > │ ├── 4.16.0-0.rc6.git2.1.fc29.x86_64
> > │ ├── 4.16.0-0.rc7.git1.1.fc29.x86_64
> > │ └── 5.16.0-0.rc5.20211216git2b14864acbaa.37.fc36.x86_64
> > │ ├── initrd
> > │ └── linux
> > ├── EFI
> > │ ├── BOOT
> > │ │ ├── BOOTX64.EFI
> > │ │ └── fbx64.efi
> > │ └── fedora
> > │ ├── BOOTX64.CSV
> > │ ├── grub.cfg
> > │ ├── grub.cfg.rpmsave
> > │ ├── grubenv.rpmsave
> > │ ├── grubx64.efi
> > │ ├── mmx64.efi
> > │ ├── shim.efi
> > │ └── shimx64.efi
> > └── loader
> > └── entries
> > └──
> >
6a1b72cbb94d4c95a4ac9df2d581e371-5.16.0-0.rc5.20211216git2b14864acbaa.37.fc36.x86_64.conf
>
> Does
>
/boot/efi/loader/entries/6a1b72cbb94d4c95a4ac9df2d581e371-5.16.0-0.rc5.20211216git2b14864acbaa.37.fc36.x86_64.conf
> contain reference to the files
>
/6a1b72cbb94d4c95a4ac9df2d581e371/5.16.0-0.rc5.20211216git2b14864acbaa.37.fc36.x86_64/linux
>
/6a1b72cbb94d4c95a4ac9df2d581e371/5.16.0-0.rc5.20211216git2b14864acbaa.37.fc36.x86_64/initrd
In my case it did.
> And does this rc5 boot entry appear in GRUB but just isn't the
> default? Or is it missing?
For me I think it didn't appear at all, but I'm not 100% sure. Even if
it appeared, would it work? Would grub know to look for the files on
the ESP?
Yes. BLS snippets don't support references to other file systems. If
GRUB blscfg looks on the ESP at all for /loader/entries, and thus can
read the conf files there, then it can also find the kernel and
initrd, since those are referenced relative to the file system the
conf files are located on. But I suspect from the code that blscfg
doesn't look on the ESP at all.
It should be easy to experiment with this, anyway - all you need to
do
is have systemd 250 installed, and create the directories
/boot/efi/loader/entries and /boot/efi/(yourmachineid). Doing so will
reproduce the bug, and you can run kernel-install yourself and have it
create this style of entry and see what it looks like and how it works.
True. But you know how lazy I am.
--
Chris Murphy