[U-Boot] [PATCH 1/1] efi_loader: bootmgr: print a message when loading from BootNext failed

Heinrich Schuchardt xypron.glpk at gmx.de
Tue May 28 10:13:06 UTC 2019


From: AKASHI Takahiro <takahiro.akashi at linaro.org>

If a user defines BootNext but not BootOrder and loading from BootNext
fails, you will see only a message like this:
	BootOrder not defined

This may confuse a user. Adding an error message will be helpful.

Signed-off-by: AKASHI Takahiro <takahiro.akashi at linaro.org>

Adjust message for fallback from BootNext to BootOrder.

An example output looks like this:

=> bootefi bootmgr
Loading from Boot0010 failed
Loading from BootNext failed, falling back to BootOrder
Loading from Boot0002 failed
Loading from Boot0003 failed
Loading from Boot0004 failed
EFI boot manager: Cannot load any image

Reviewed-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 lib/efi_loader/efi_bootmgr.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lib/efi_loader/efi_bootmgr.c b/lib/efi_loader/efi_bootmgr.c
index 7bf51874c1..00de8165d0 100644
--- a/lib/efi_loader/efi_bootmgr.c
+++ b/lib/efi_loader/efi_bootmgr.c
@@ -149,8 +149,10 @@ static efi_status_t try_load_entry(u16 n, efi_handle_t *handle)

 		ret = EFI_CALL(efi_load_image(true, efi_root, lo.file_path,
 					      NULL, 0, handle));
-		if (ret != EFI_SUCCESS)
+		if (ret != EFI_SUCCESS) {
+			printf("Loading from Boot%04X failed\n", n);
 			goto error;
+		}

 		attributes = EFI_VARIABLE_BOOTSERVICE_ACCESS |
 			     EFI_VARIABLE_RUNTIME_ACCESS;
@@ -215,6 +217,7 @@ efi_status_t efi_bootmgr_load(efi_handle_t *handle)
 				ret = try_load_entry(bootnext, handle);
 				if (ret == EFI_SUCCESS)
 					return ret;
+				printf("Loading from BootNext failed, falling back to BootOrder\n");
 			}
 		} else {
 			printf("Deleting BootNext failed\n");
--
2.20.1



More information about the U-Boot mailing list