[U-Boot] [PATCH 2/4] km: update the boot script to check for a DTB

Heiko Schocher hs at denx.de
Mon Nov 16 12:09:11 CET 2015


Hello Valentin,

Am 13.11.2015 um 16:15 schrieb Valentin Longchamp:
> If a DTB is found with cramfsls, the bootscript continues as expected.
> If none is found, the cramfsloadfdt and boot subbootcmds are updated to
> not load the DTB from cramfs and not pass it to the kernel. The kernel
> thus must have an appended DTB otherwise the boot will fail.
>
> This is required for the km_kirkwood boards that must support .esw where
> the DTB sometimes is appended (for backwards compatibility) and sometimes
> is passed correctly (as we do now for all newer boards).
>
> Signed-off-by: Valentin Longchamp <valentin.longchamp at keymile.com>
> ---
>
>   include/configs/km/keymile-common.h | 5 +++--
>   include/configs/km/km-powerpc.h     | 1 +
>   include/configs/km/km_arm.h         | 6 ++++++
>   include/configs/km/kmp204x-common.h | 1 +
>   4 files changed, 11 insertions(+), 2 deletions(-)


Reviewed-by: Heiko Schocher <hs at denx.de>

bye,
Heiko
>
> diff --git a/include/configs/km/keymile-common.h b/include/configs/km/keymile-common.h
> index 2fc1ea8..91b29b3 100644
> --- a/include/configs/km/keymile-common.h
> +++ b/include/configs/km/keymile-common.h
> @@ -141,8 +141,9 @@
>    * - 'release': for a standalone system		kernel/rootfs from flash
>    */
>   #define CONFIG_KM_DEF_ENV_BOOTTARGETS					\
> -	"subbootcmds=ubiattach ubicopy cramfsloadfdt set_fdthigh "	\
> -		"cramfsloadkernel flashargs add_default addpanic boot\0"\
> +	"subbootcmds=ubiattach ubicopy checkfdt cramfsloadfdt "		\
> +		"set_fdthigh cramfsloadkernel flashargs add_default "	\
> +		"addpanic boot\0"					\
>   	"develop="							\
>   		"tftp 200000 scripts/develop-${arch}.txt && "		\
>   		"env import -t 200000 ${filesize} && "			\
> diff --git a/include/configs/km/km-powerpc.h b/include/configs/km/km-powerpc.h
> index eb85a74..20ef036 100644
> --- a/include/configs/km/km-powerpc.h
> +++ b/include/configs/km/km-powerpc.h
> @@ -79,6 +79,7 @@
>   		"  ${filesize} && "					\
>   		"protect on " __stringify(BOOTFLASH_START) "  +${filesize}\0"\
>   	"set_fdthigh=true\0"						\
> +	"checkfdt=true\0"						\
>   	""
>
>   #endif /* __CONFIG_KEYMILE_POWERPC_H */
> diff --git a/include/configs/km/km_arm.h b/include/configs/km/km_arm.h
> index 15fca1a..8c18e16 100644
> --- a/include/configs/km/km_arm.h
> +++ b/include/configs/km/km_arm.h
> @@ -83,6 +83,12 @@
>   	"u-boot="__stringify(CONFIG_HOSTNAME) "/u-boot.kwb\0"		\
>   	CONFIG_KM_UPDATE_UBOOT						\
>   	"set_fdthigh=setenv fdt_high ${kernelmem}\0"			\
> +	"checkfdt="							\
> +		"if cramfsls fdt_0x${IVM_BoardId}_0x${IVM_HWKey}.dtb; "	\
> +		"then true; else setenv cramfsloadfdt true; "		\
> +		"setenv boot bootm ${load_addr_r}; "			\
> +		"echo No FDT found, booting with the kernel "		\
> +		"appended one; fi\0"					\
>   	""
>
>   #define CONFIG_SKIP_LOWLEVEL_INIT	/* disable board lowlevel_init */
> diff --git a/include/configs/km/kmp204x-common.h b/include/configs/km/kmp204x-common.h
> index 7536cbd..540c672 100644
> --- a/include/configs/km/kmp204x-common.h
> +++ b/include/configs/km/kmp204x-common.h
> @@ -458,6 +458,7 @@ int get_scl(void);
>   		"sf probe 0;sf erase 0 +${filesize};"			\
>   		"sf write ${load_addr_r} 0 ${filesize};\0"		\
>   	"set_fdthigh=true\0"						\
> +	"checkfdt=true\0"						\
>   	""
>
>   #define CONFIG_HW_ENV_SETTINGS						\
>

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany


More information about the U-Boot mailing list