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

AKASHI Takahiro takahiro.akashi at linaro.org
Tue May 28 06:24:05 UTC 2019


On Tue, May 28, 2019 at 08:16:37AM +0200, Heinrich Schuchardt wrote:
> On 5/24/19 8:59 AM, AKASHI Takahiro wrote:
> >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>
> >---
> >Changes in v2 (May 24, 2019)
> >* add an error message to try_load_entry()
> >---
> >  lib/efi_loader/efi_bootmgr.c | 6 +++++-
> >  1 file changed, 5 insertions(+), 1 deletion(-)
> >
> >diff --git a/lib/efi_loader/efi_bootmgr.c b/lib/efi_loader/efi_bootmgr.c
> >index 7bf51874c1c1..bb66fee0a3d2 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,8 @@ 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 Boot%04X failed, falling back into BootOrder...\n",
> 
> This is an example output:
> 
> => bootefi bootmgr
> Loading from Boot0004 failed
> Loading from Boot0004 failed, falling back into BootOrder...
> Loading from Boot0005 failed
> Loading from Boot0003 failed
> Loading from Boot0004 failed
> EFI boot manager: Cannot load any image
> 
> "Loading from Boot0004 failed" appears twice in the beginning.
> 
> Either leave the message away or change it to
> 
> printf("Falling back into BootOrder...\n");

Please make this change for me so that I don't have to send out
another patch?

Thanks,
-Takahiro Akashi

> Best regards
> 
> Heinrich
> 
> >+				       bootnext);
> >  			}
> >  		} else {
> >  			printf("Deleting BootNext failed\n");
> >
> 


More information about the U-Boot mailing list