[PATCH 1/1] efi_loader: run bootdev_hunt() to find ESP
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Wed Nov 13 20:55:19 CET 2024
Some hard devices need specific routines to scan for block devices,
e.g. NVMe (nvme scan), SCSI (scsi start).
Invoke bootdev_hunt() to find all block devices.
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
lib/efi_loader/efi_setup.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/lib/efi_loader/efi_setup.c b/lib/efi_loader/efi_setup.c
index aa59bc7779d..8e0ff16f3eb 100644
--- a/lib/efi_loader/efi_setup.c
+++ b/lib/efi_loader/efi_setup.c
@@ -7,6 +7,7 @@
#define LOG_CATEGORY LOGC_EFI
+#include <bootdev.h>
#include <efi_loader.h>
#include <efi_variable.h>
#include <log.h>
@@ -228,6 +229,13 @@ efi_status_t efi_init_obj_list(void)
* Probe block devices to find the ESP.
* efi_disks_register() must be called before efi_init_variables().
*/
+ if (CONFIG_IS_ENABLED(BOOTSTD)) {
+ int r;
+
+ r = bootdev_hunt(NULL, 0);
+ if (r)
+ log_debug("No boot device available\n");
+ }
ret = efi_disks_register();
if (ret != EFI_SUCCESS)
goto out;
--
2.45.2
More information about the U-Boot
mailing list