[PATCH] starfive: visionfive2: switch to standard boot

Nam Cao namcao at linutronix.de
Thu Mar 14 13:04:36 CET 2024


On 13/Mar/2024 Milan P. Stanić wrote:
> On Wed, 2024-02-21 at 13:00, Nam Cao wrote:
> > Distro boot scripts are deprecated. Use standard boot instead.  
> I had to enable 'CONFIG_CMD_SYSBOOT=y' in
> configs/starfive_visionfive2_defconfig because it doesn't boot without
> it. With this option it boots fine with this patch.

You should not have to do that for it to work, otherwise this patch
introduced a bug.

CONFIG_CMD_SYSBOOT adds the "sysboot" command, which is only used by
distroboot. So I suspect that you were actually still using distro boot,
because you didn't "update" your environment variable (that can be checked
with "printenv bootcmd"). For this patch to work, the environment variables
also need to be updated with:
    env default
    env save -a

This makes me realize that the patch breaks boards if the users forget to
update the environment variables. I am not sure if this is considered a
bug. What do maintainers think?

Best regards,
Nam

> Tested on u-boot version 2024.04-rc4-dirty
> 
> > Signed-off-by: Nam Cao <namcao at linutronix.de>
> > Reviewed-by: Leo Yu-Chi Liang <ycliang at andestech.com>  
> Tested-by: Milan P. Stanić <mps at arvanta.net>
> 
> > ---
> >  configs/starfive_visionfive2_defconfig |  2 +-
> >  include/configs/starfive-visionfive2.h | 14 +-------------
> >  2 files changed, 2 insertions(+), 14 deletions(-)
> > 
> > diff --git a/configs/starfive_visionfive2_defconfig b/configs/starfive_visionfive2_defconfig
> > index b11be7ac86..aec751f871 100644
> > --- a/configs/starfive_visionfive2_defconfig
> > +++ b/configs/starfive_visionfive2_defconfig
> > @@ -31,8 +31,8 @@ CONFIG_RISCV_SMODE=y
> >  # CONFIG_OF_BOARD_FIXUP is not set
> >  # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
> >  CONFIG_FIT=y
> > +CONFIG_BOOTSTD_DEFAULTS=y
> >  CONFIG_SYS_BOOTM_LEN=0x4000000
> > -CONFIG_DISTRO_DEFAULTS=y
> >  CONFIG_BOOTSTAGE=y
> >  CONFIG_QSPI_BOOT=y
> >  CONFIG_SD_BOOT=y
> > diff --git a/include/configs/starfive-visionfive2.h b/include/configs/starfive-visionfive2.h
> > index 29c74470c7..049b0a0630 100644
> > --- a/include/configs/starfive-visionfive2.h
> > +++ b/include/configs/starfive-visionfive2.h
> > @@ -15,17 +15,6 @@
> >  
> >  #define __io
> >  
> > -/* Environment options */
> > -
> > -#define BOOT_TARGET_DEVICES(func) \
> > -	func(NVME, nvme, 0) \
> > -	func(USB, usb, 0) \
> > -	func(MMC, mmc, 0) \
> > -	func(MMC, mmc, 1) \
> > -	func(DHCP, dhcp, na)
> > -
> > -#include <config_distro_bootcmd.h>
> > -
> >  #define TYPE_GUID_SPL		"2E54B353-1271-4842-806F-E436D6AF6985"
> >  #define TYPE_GUID_UBOOT	"BC13C2FF-59E6-4262-A352-B275FD6F7172"
> >  #define TYPE_GUID_SYSTEM	"EBD0A0A2-B9E5-4433-87C0-68B6B72699C7"
> > @@ -48,7 +37,6 @@
> >  	"type_guid_gpt_loader2=" TYPE_GUID_UBOOT "\0" \
> >  	"type_guid_gpt_system=" TYPE_GUID_SYSTEM "\0" \
> >  	"partitions=" PARTS_DEFAULT "\0" \
> > -	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0" \
> > -	BOOTENV
> > +	"fdtfile=" CONFIG_DEFAULT_FDT_FILE "\0"
> >  
> >  #endif /* _STARFIVE_VISIONFIVE2_H */  



More information about the U-Boot mailing list