[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