[RFC 2/8] boot: BOOTMETH_DISTRO should select BOOTMETH_EFI_BOOTMGR
Ilias Apalodimas
ilias.apalodimas at linaro.org
Fri May 2 11:28:12 CEST 2025
Hi Heinrich
On Wed Apr 23, 2025 at 3:53 PM EEST, Heinrich Schuchardt wrote:
> On 23.04.25 14:28, Simon Glass wrote:
>> Hi Heinrich,
>>
>> On Mon, 21 Apr 2025 at 10:26, Heinrich Schuchardt
>> <heinrich.schuchardt at canonical.com> wrote:
>>>
>>> Distros expect the EFI boot manager to run. It falls back to launching
>>> EFI\BOOT\BOOT<ARCH>.EFI from the ESP.
>>>
>>> BOOTMETH_EFILOADER is obsolete.
>>>
>>> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
>>> ---
>>> boot/Kconfig | 5 ++++-
>>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/boot/Kconfig b/boot/Kconfig
>>> index fb37d912bc9..71ddb37f6bb 100644
>>> --- a/boot/Kconfig
>>> +++ b/boot/Kconfig
>>> @@ -597,6 +597,9 @@ config BOOTMETH_EFILOADER
>>> imply CMD_TFTPBOOT if CMD_NET
>>> default y
>>> help
>>> + This bootmeth is obsolete. BOOTMETH_EFI_BOOTMGR takes care of
>>> + launching EFI\BOOT\BOOT<ARCH>.EFI if not boot option matches.
>>> +
>>
>> I don't agree with marking this as obsolete and your commit message
>> doesn't explain why it should be.
>
> This method was written in a way that per se violates the UEFI
> specification as it does not set up required UEFI variables.
>
> You must never run this before the boot manager as booting
> EFI/BOOT/BOOT<ARCH>.EFI if there is a boot option violates the UEFI
> specification-
>
> The boot manager covers the functionality of this bootmeth.
>
> We should delete this method.
+1. Do you plan to propose a patch to remove it and only leave the bootmanager?
Or you prefer marking it as obsolete for a while?
Thanks
/Ilias
>
> Best regards
>
> Heinrich
>
>>
>>> Enables support for EFI boot using bootdevs. This makes the
>>> bootdevs look for a 'boot<arch>.efi' on each filesystem
>>> they scan. The resulting file is booted after enabling U-Boot's
>>> @@ -648,7 +651,7 @@ config BOOTMETH_DISTRO
>>> select BOOTMETH_SCRIPT if CMDLINE # E.g. Armbian uses scripts
>>> select BOOTMETH_EXTLINUX # E.g. Debian uses these
>>> select BOOTMETH_EXTLINUX_PXE if CMD_PXE && CMD_NET && DM_ETH
>>> - select BOOTMETH_EFILOADER if EFI_BINARY_EXEC # E.g. Ubuntu uses this
>>> + select BOOTMETH_EFI_BOOTMGR if EFI_BINARY_EXEC # E.g. Ubuntu uses this
>>>
>>> config SPL_BOOTMETH_VBE
>>> bool "Bootdev support for Verified Boot for Embedded (SPL)"
>>> --
>>> 2.48.1
>>>
>>
>> Regards,
>> Simon
More information about the U-Boot
mailing list