On 11/13/24 14:39, Simon Glass wrote:
Hi Heinrich,

On Tue, 12 Nov 2024 at 03:26, Heinrich Schuchardt
<heinrich.schucha...@canonical.com> wrote:

Without 'nvme scan' the ESP on the NVMe drive is not found early.
EFI variables cannot be persisted.

     Hit any key to stop autoboot:  0
     Cannot persist EFI variables without system partition
     ** Booting bootflow '<NULL>' with efi_mgr
     Loading Boot0000 'mmc 0' failed
     EFI boot manager: Cannot load any image
     Boot failed (err=-14)
     scanning bus for devices...
     ** Booting bootflow 'nvme#1.blk#1.bootdev.part_1' with efi
     Booting /\EFI\BOOT\BOOTRISCV64.EFI
     error: no suitable video mode found.
     GNU GRUB  version 2.12

With 'nmve scan' booting works as expected.

     Hit any key to stop autoboot:  0
     ** Booting bootflow '<NULL>' with efi_mgr
     Loading Boot0000 'mmc 0' failed
     Loading Boot0001 'nvme 0' failed
     Booting: nvme 1
     error: no suitable video mode found.
     GNU GRUB  version 2.12

Reported by Yuri Zaporozhets <yu...@vodafonemail.de>
Signed-off-by: Heinrich Schuchardt <heinrich.schucha...@canonical.com>
---
v2:
         mention board in subject
---
  configs/sifive_unmatched_defconfig | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/configs/sifive_unmatched_defconfig 
b/configs/sifive_unmatched_defconfig
index 058e5fab683..1ea744ffa80 100644
--- a/configs/sifive_unmatched_defconfig
+++ b/configs/sifive_unmatched_defconfig
@@ -27,7 +27,7 @@ CONFIG_FIT=y
  CONFIG_SPL_LOAD_FIT_ADDRESS=0x84000000
  CONFIG_BOOTSTD_DEFAULTS=y
  CONFIG_USE_PREBOOT=y
-CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr};fdt addr ${fdtcontroladdr};"
+CONFIG_PREBOOT="setenv fdt_addr ${fdtcontroladdr};fdt addr ${fdtcontroladdr};nvme 
scan"
  CONFIG_DEFAULT_FDT_FILE="sifive/hifive-unmatched-a00.dtb"
  CONFIG_SYS_CBSIZE=256
  CONFIG_SYS_PBSIZE=276
--
2.45.2


This is handled automatically by bootstd. It uses 'hunters' to scan
devices as it goes. So this scan would not be wanted unless the device
is booting from nvme.

It seems that bootmgr is very-much doing its own thing in U-Boot. Can
we make it run the hunters, instead, perhaps?

Regards,
Simon

The bootstd runs the NVMe hunter *after* executing the EFI bootmgr bootmeth.

We must scan NVMe before running the EFI bootmgr bootmeth to find the ESP on it.

Best regards

Heinrich

Reply via email to