Re: [SUMMARY] UEFI multiboot
Max Nikulin composed on 2024-08-23 10:09 (UTC+0700):
> Felix Miata wrote:
>> That is written by any process that
>> reads GRUB_DISTRIBUTOR= to determine where to do its writing on the ESP.
> To avoid confusion of those who may notice this thread in search engine
> results:
> In Debian GRUB_DISTRIBUTOR value is *not* passed to "grub-install
> --bootloader-id" by postinst package scripts:
> <https://sources.debian.org/src/grub2/2.12-5/debian/postinst.in/?hl=723#L723>
> <https://sources.debian.org/src/shim-signed/1.44/debian/shim-signed.postinst/?hl=64#L64>
> Notice
>> case $bootloader_id in
>> kubuntu) bootloader_id=ubuntu ;;
>> esac
> that was added to prevent a secure boot issue.
> Behavior of SUSE may be different.
> I believe, a robust way would be to add grub-install option that reports
> path withing EFI partition configured at compile time, so heuristics
> based on GRUB_DISTRIBUTOR from /etc/default/grub would not confuse users.
I don't know what vexing secure boot might introduce, but without it,
GRUB_DISTRIBUTOR= was used by grub-install in Trixie here to produce
results I expected:
# inxi -S
System:
Host: msi85 Kernel: 6.9.12-amd64 arch: x86_64 bits: 64
Console: pty pts/0 Distro: Debian GNU/Linux trixie/sid
# grep TOR /etc/default/grub
GRUB_DISTRIBUTOR="debian13"
# efibootmgr | egrep 'suse|debian|rder'
BootOrder: 0000,0004,0005,0003,0001,0002
Boot0000* opensusetw HD(1,GPT,64c8...8745,0x800,0xa0000)/File(\EFI\OPENSUSETW\GRUBX64.EFI)
Boot0004* opensuse HD(1,GPT,64c8...8745,0x800,0xa0000)/File(\EFI\OPENSUSE\GRUBX64.EFI)
# tree /boot/efi/EFI
/boot/efi/EFI
├── BOOT
│ ├── BOOTX64.EFI
│ ├── fbx64.efi
│ ├── MemTest86.log
│ └── mt74x64.efi
├── opensuse
│ └── grubx64.efi
└── opensusetw
└── grubx64.efi
4 directories, 6 files
# grub-install --target=x86_64-efi --efi-directory=/boot/efi
Installing for x86_64-efi platform.
Installation finished. No error reported.
# efibootmgr | egrep 'suse|debian|rder'
BootOrder: 0006,0000,0004,0005,0003,0001,0002
Boot0000* opensusetw HD(1,GPT,64c8...8745,0x800,0xa0000)/File(\EFI\OPENSUSETW\GRUBX64.EFI)
Boot0004* opensuse HD(1,GPT,64c8...8745,0x800,0xa0000)/File(\EFI\OPENSUSE\GRUBX64.EFI)
Boot0006* debian13 HD(1,GPT,64c8...8745,0x800,0xa0000)/File(\EFI\debian13\grubx64.efi)
# tree /boot/efi/EFI
/boot/efi/EFI
├── BOOT
│ ├── BOOTX64.EFI
│ ├── fbx64.efi
│ ├── MemTest86.log
│ └── mt74x64.efi
├── debian13
│ └── grubx64.efi
├── opensuse
│ └── grubx64.efi
└── opensusetw
└── grubx64.efi
5 directories, 7 files
#
Note I didn't use option --bootloader-id, so grub-install had no place on my
Trixie's / filesystem to find string "debian13" other than GRUB_DISTRIBUTOR=
in /etc/default/grub.
--
Evolution as taught in public schools is, like religion,
based on faith, not based on science.
Team OS/2 ** Reg. Linux User #211409 ** a11y rocks!
Felix Miata
Reply to: