[U-Boot] [PATCH 3/5] arm: mvebu: Avoid generating kwbimage.cfg in the source tree

Chris Packham judge.packham at gmail.com
Sun Oct 27 20:14:48 UTC 2019


Hi Bin,

On Mon, 28 Oct 2019, 1:28 AM Bin Meng, <bmeng.cn at gmail.com> wrote:

> At present some boards generate kwbimage.cfg in the source tree
> during the build. This breaks buildman testing on some systems
> where the source tree is read-only. Update makefile rules to
> generate it in the build tree instead.
>
> Note some other boards have the kwbimage.cfg file written in
> advance, hence we need check if the file exists in the build
> tree first, otherwise we fall back to one in the source tree.
>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>

Reviewed-by: Chris Packham <judge.packham at gmail.com>

---
>
>  Makefile                             | 15 +++++++++++++--
>  arch/arm/mach-mvebu/Makefile         |  4 ++--
>  board/Marvell/db-88f6281-bp/Makefile |  4 ++--
>  board/Marvell/db-xc3-24g4xg/Makefile |  4 ++--
>  board/mikrotik/crs305-1g-4s/Makefile |  4 ++--
>  5 files changed, 21 insertions(+), 10 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index e78b317..61b94c5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1276,10 +1276,21 @@ endif
>
>  MKIMAGEFLAGS_u-boot-dtb.img = $(MKIMAGEFLAGS_u-boot.img)
>
> -MKIMAGEFLAGS_u-boot.kwb = -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) \
> +# Some boards have the kwbimage.cfg file written in advance, while some
> +# other boards generate it on the fly during the build in the build tree.
> +# Let's check if the file exists in the build tree first, otherwise we
> +# fall back to use the one in the source tree.
> +KWD_CONFIG_FILE = $(shell \
> +       if [ -f $(objtree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) ]; then \
> +               echo -n $(objtree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%); \
> +       else \
> +               echo -n $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%); \
> +       fi)
> +
> +MKIMAGEFLAGS_u-boot.kwb = -n $(KWD_CONFIG_FILE) \
>         -T kwbimage -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE)
>
> -MKIMAGEFLAGS_u-boot-spl.kwb = -n
> $(srctree)/$(CONFIG_SYS_KWD_CONFIG:"%"=%) \
> +MKIMAGEFLAGS_u-boot-spl.kwb = -n $(KWD_CONFIG_FILE) \
>         -T kwbimage -a $(CONFIG_SYS_TEXT_BASE) -e $(CONFIG_SYS_TEXT_BASE) \
>         $(if $(KEYDIR),-k $(KEYDIR))
>
> diff --git a/arch/arm/mach-mvebu/Makefile b/arch/arm/mach-mvebu/Makefile
> index 8228a17..b739520 100644
> --- a/arch/arm/mach-mvebu/Makefile
> +++ b/arch/arm/mach-mvebu/Makefile
> @@ -58,10 +58,10 @@ KWB_REPLACE += SEC_FUSE_DUMP
>  KWB_CFG_SEC_FUSE_DUMP = a38x
>  endif
>
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
>                 include/config/auto.conf
>         $(Q)sed -ne '$(foreach V,$(KWB_REPLACE),s/^#@$(V)/$(V)
> $(KWB_CFG_$(V))/;)p' \
> -       <$< >$(dir $<)$(@F)
> +       <$< >$(dir $@)$(@F)
>
>  endif # CONFIG_SPL_BUILD
>  obj-y  += gpio.o
> diff --git a/board/Marvell/db-88f6281-bp/Makefile
> b/board/Marvell/db-88f6281-bp/Makefile
> index e6aa7e3..003e9f6 100644
> --- a/board/Marvell/db-88f6281-bp/Makefile
> +++ b/board/Marvell/db-88f6281-bp/Makefile
> @@ -4,9 +4,9 @@ obj-y   := db-88f6281-bp.o
>  extra-y := kwbimage.cfg
>
>  quiet_cmd_sed = SED     $@
> -      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
> +      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
>
>  SEDFLAGS_kwbimage.cfg = -e "s/^\#@BOOT_FROM.*/BOOT_FROM        $(if
> $(CONFIG_CMD_NAND),nand,spi)/"
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
>                 include/config/auto.conf
>         $(call if_changed,sed)
> diff --git a/board/Marvell/db-xc3-24g4xg/Makefile
> b/board/Marvell/db-xc3-24g4xg/Makefile
> index 4dd5790..24e8200 100644
> --- a/board/Marvell/db-xc3-24g4xg/Makefile
> +++ b/board/Marvell/db-xc3-24g4xg/Makefile
> @@ -6,9 +6,9 @@ obj-y   := db-xc3-24g4xg.o
>  extra-y        := kwbimage.cfg
>
>  quiet_cmd_sed = SED     $@
> -      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
> +      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
>
>  SEDFLAGS_kwbimage.cfg =-e "s|^BINARY.*|BINARY $(srctree)/$(@D)/binary.0
> 0000005b 00000068|"
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
>                 include/config/auto.conf
>           $(call if_changed,sed)
> diff --git a/board/mikrotik/crs305-1g-4s/Makefile
> b/board/mikrotik/crs305-1g-4s/Makefile
> index 895331b..c03f534 100644
> --- a/board/mikrotik/crs305-1g-4s/Makefile
> +++ b/board/mikrotik/crs305-1g-4s/Makefile
> @@ -6,9 +6,9 @@ obj-y   := crs305-1g-4s.o
>  extra-y        := kwbimage.cfg
>
>  quiet_cmd_sed = SED     $@
> -      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $<)$(@F)
> +      cmd_sed = sed $(SEDFLAGS_$(@F)) $< >$(dir $@)$(@F)
>
>  SEDFLAGS_kwbimage.cfg =-e "s|^BINARY.*|BINARY $(srctree)/$(@D)/binary.0
> 0000005b 00000068|"
> -$(src)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
> +$(obj)/kwbimage.cfg: $(src)/kwbimage.cfg.in include/autoconf.mk \
>                 include/config/auto.conf
>           $(call if_changed,sed)
> --
> 2.7.4
>
>


More information about the U-Boot mailing list