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

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Thu Apr 4 13:47:40 CEST 2024


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



More information about the U-Boot mailing list