[PATCH v2 1/1] configs: SiFive Unmatched: add 'nvme scan' to preboot
Heinrich Schuchardt
heinrich.schuchardt at canonical.com
Fri Feb 7 08:43:17 CET 2025
On 11/13/24 14:39, Simon Glass wrote:
> 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
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
More information about the U-Boot
mailing list