[PATCH v2 1/1] configs: SiFive Unmatched: add 'nvme scan' to preboot

Simon Glass sjg at chromium.org
Wed Nov 13 14:39:22 CET 2024


Hi Heinrich,

On Tue, 12 Nov 2024 at 03:26, Heinrich Schuchardt
<heinrich.schuchardt at 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 <yuriz at vodafonemail.de>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at 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


More information about the U-Boot mailing list