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

Heinrich Schuchardt xypron.glpk at gmx.de
Tue May 28 06:16:37 UTC 2019


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");

Best regards

Heinrich

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



More information about the U-Boot mailing list