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