[PATCH v2 2/4] boot: enable booting via EFI boot manager by default

Ilias Apalodimas ilias.apalodimas at linaro.org
Thu Apr 4 16:28:36 CEST 2024


On Thu, 4 Apr 2024 at 14:49, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> If UEFI is enabled in U-Boot, we want it to conform to the UEFI
> specification. This requires enabling the boot manager boot method.
>
> Reported-by: E Shattow <lucent at gmail.com>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
> v2:
>         fix building with EFI_BOOT_MGR but w/o BOOTSTD
> ---
>  boot/Kconfig           | 10 ++++++++++
>  boot/Makefile          |  2 +-
>  lib/efi_loader/Kconfig |  1 -
>  3 files changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/boot/Kconfig b/boot/Kconfig
> index 3d7aabd27d6..d9a6c270059 100644
> --- a/boot/Kconfig
> +++ b/boot/Kconfig
> @@ -558,6 +558,16 @@ config BOOTMETH_EFILOADER
>
>           This provides a way to try out standard boot on an existing boot flow.
>
> +config BOOTMETH_EFI_BOOTMGR
> +       bool "Bootdev support for EFI boot manager"
> +       depends on EFI_BOOTMGR
> +       select BOOTMETH_GLOBAL
> +       default y
> +       help
> +         Enable booting via the UEFI boot manager. Based on the EFI variables
> +         the EFI binary to be launched is determined. To set the EFI variables
> +         use the eficonfig command.
> +
>  config BOOTMETH_VBE
>         bool "Bootdev support for Verified Boot for Embedded"
>         depends on FIT
> diff --git a/boot/Makefile b/boot/Makefile
> index f0a279cde16..84ccfeaecec 100644
> --- a/boot/Makefile
> +++ b/boot/Makefile
> @@ -34,8 +34,8 @@ obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_CROS) += bootm.o bootm_os.o bootmeth_cros.o
>  obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_SANDBOX) += bootmeth_sandbox.o
>  obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_SCRIPT) += bootmeth_script.o
>  obj-$(CONFIG_$(SPL_TPL_)CEDIT) += cedit.o
> +obj-$(CONFIG_$(SPL_TPL_)BOOTMETH_EFI_BOOTMGR) += bootmeth_efi_mgr.o
>  ifdef CONFIG_$(SPL_TPL_)BOOTSTD_FULL
> -obj-$(CONFIG_EFI_BOOTMGR) += bootmeth_efi_mgr.o
>  obj-$(CONFIG_$(SPL_TPL_)EXPO) += bootflow_menu.o
>  obj-$(CONFIG_$(SPL_TPL_)BOOTSTD) += bootflow_menu.o
>  endif
> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> index a7c3e05c13a..e13a6f9f4c3 100644
> --- a/lib/efi_loader/Kconfig
> +++ b/lib/efi_loader/Kconfig
> @@ -44,7 +44,6 @@ config EFI_BINARY_EXEC
>  config EFI_BOOTMGR
>         bool "UEFI Boot Manager"
>         default y
> -       select BOOTMETH_GLOBAL if BOOTSTD
>         help
>           Select this option if you want to select the UEFI binary to be booted
>           via UEFI variables Boot####, BootOrder, and BootNext. You should also
> --
> 2.43.0
>

Reviewed-by: Ilias Apalodimas <ilias.apalodimas at linaro.org>


More information about the U-Boot mailing list