On Thu, Jan 6, 2022 at 11:41 AM Adam Williamson adamwill@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@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.