[U-Boot] [PATCH v2 2/2] lsxl: rework boot scripts

Albert ARIBAUD albert.u.boot at aribaud.net
Sun May 25 15:14:41 CEST 2014


Hi Michael,

On Tue,  1 Apr 2014 20:09:14 +0200, Michael Walle <michael at walle.cc>
wrote:

> Move addresses for kernel, ramdisk and fdt blob to own variables. Add dtb
> blob loading to all existing boot scripts, dtb filenames were taken from
> vanilla kernel. Introduce new boot script bootcmd_legacy, which only loads
> a kernel and a ramdisk. Make this the default boot script. This should also
> restore the behaviour of the original bootloader.
> 
> Cc: Prafulla Wadaskar <prafulla at marvell.com>
> Cc: Tom Rini <trini at ti.com>
> Signed-off-by: Michael Walle <michael at walle.cc>
> ---
> Changes v2:
>  - use CONFIG_CMD_FS_GENERIC and load commands (suggested by Tom Rini)
>  - use loadaddresses at offsets 8MB and 16MB, leaving ~8MB for the kernel
>    please note that the kernel is copied to 0x8000 anyway.
> ---
>  include/configs/lsxl.h |   40 +++++++++++++++++++++++++++++++---------
>  1 file changed, 31 insertions(+), 9 deletions(-)
> 
> diff --git a/include/configs/lsxl.h b/include/configs/lsxl.h
> index 4ad5eb8..45794a1 100644
> --- a/include/configs/lsxl.h
> +++ b/include/configs/lsxl.h
> @@ -65,6 +65,7 @@
>  #define CONFIG_CMD_SF
>  #define CONFIG_CMD_SPI
>  #define CONFIG_CMD_USB
> +#define CONFIG_CMD_FS_GENERIC
>  
>  #define CONFIG_DOS_PARTITION
>  #define CONFIG_EFI_PARTITION
> @@ -108,20 +109,41 @@
>  #define CONFIG_LOADADDR		0x00800000
>  #define CONFIG_BOOTCOMMAND	"run bootcmd_${bootsource}"
>  #define CONFIG_BOOTARGS		"console=ttyS0,115200 root=/dev/sda2"
> +
> +#if defined(CONFIG_LSXHL)
> +#define CONFIG_FDTFILE "kirkwood-lsxhl.dtb"
> +#elif defined(CONFIG_LSCHLV2)
> +#define CONFIG_FDTFILE "kirkwood-lschlv2.dtb"
> +#else
> +#error "Unsupported board"
> +#endif
> +
>  #define CONFIG_EXTRA_ENV_SETTINGS					\
> -	"bootsource=hdd\0"						\
> +	"bootsource=legacy\0"						\
>  	"hdpart=0:1\0"							\
> -	"bootcmd_net=bootp 0x00100000 uImage "				\
> -		"&& tftpboot 0x00800000 uInitrd "			\
> +	"kernel_addr=0x00800000\0"					\
> +	"ramdisk_addr=0x01000000\0"					\
> +	"fdt_addr=0x01ff0000\0"						\
> +	"bootcmd_legacy=ide reset "					\
> +		"&& load ide ${hdpart} 0x00100000 /uImage.buffalo "	\
> +		"&& load ide ${hdpart} 0x00800000 /initrd.buffalo "	\
>  		"&& bootm 0x00100000 0x00800000\0"			\
> +	"bootcmd_net=bootp ${kernel_addr} uImage "			\
> +		"&& tftpboot ${ramdisk_addr} uInitrd "			\
> +		"&& tftpboot ${fdt_addr} " CONFIG_FDTFILE " "		\
> +		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
>  	"bootcmd_hdd=ide reset "					\
> -		"&& ext2load ide ${hdpart} 0x00100000 /uImage "		\
> -		"&& ext2load ide ${hdpart} 0x00800000 /uInitrd "	\
> -		"&& bootm 0x00100000 0x00800000\0"			\
> +		"&& load ide ${hdpart} ${kernel_addr} /uImage "		\
> +		"&& load ide ${hdpart} ${ramdisk_addr} /uInitrd "	\
> +		"&& load ide ${hdpart} ${fdt_addr} "			\
> +			"/" CONFIG_FDTFILE " "				\
> +		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
>  	"bootcmd_usb=usb start "					\
> -		"&& fatload usb 0:1 0x00100000 /uImage "		\
> -		"&& fatload usb 0:1 0x00800000 /uInitrd "		\
> -		"&& bootm 0x00100000 0x00800000\0"			\
> +		"&& load usb 0:1 ${kernel_addr} /uImage "		\
> +		"&& load usb 0:1 ${ramdisk_addr} /uInitrd "		\
> +		"&& load usb 0:1 ${fdt_addr} "				\
> +			"/" CONFIG_FDTFILE " "				\
> +		"&& bootm ${kernel_addr} ${ramdisk_addr} ${fdt_addr}\0"	\
>  	"bootcmd_rescue=run config_nc_dhcp; run nc\0"			\
>  	"eraseenv=sf probe 0 "						\
>  		"&& sf erase " __stringify(CONFIG_ENV_OFFSET)		\

Applied to u-boot-arm/master, thanks!

Amicalement,
-- 
Albert.


More information about the U-Boot mailing list