On 5/29/19 11:40 AM, Alexander Graf wrote:

On 28.05.19 12:13, Heinrich Schuchardt wrote:
From: AKASHI Takahiro <takahiro.aka...@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.aka...@linaro.org>


Why is the SoB line in the middle of the patch description?

Everything below was not in Takahiros patch.



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


How hard would it be to print the device path for the respective
BootXXXX entries as well? Users usually don't think in boot entries.

The change is trivial. Output could look like

=> efidebug boot add 0001 label1 scsi 0:1 "\path1\file1.efi"
=> efidebug boot add 0002 label2 scsi 0:1 "\path2\file2.efi"
=> efidebug boot order 0001 0002
=> bootefi bootmgr
Loading from Boot0001
(/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(0,0)/HD(1,MBR,0x1bb2fc9c,0x800,0x3fffe)/\path1\file1.efi)
failed
Loading from Boot0002
(/VenHw(e61d73b9-a384-4acc-aeab-82e828f3628b)/Scsi(0,0)/HD(1,MBR,0x1bb2fc9c,0x800,0x3fffe)/\path2\file2.efi)
failed
EFI boot manager: Cannot load any image
=>

But as you see it does not fit into 80 character lines and the terminal
might cut of the interesting part of the line. Failure may also depend
on the command line parameters.

I think adding the label makes more sense.

Best regards

Heinrich



Alex


EFI boot manager: Cannot load any image

Reviewed-by: Heinrich Schuchardt <xypron.g...@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



_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to