[U-Boot] [PATCH v2 2/7] fdt: Build a U-Boot binary without device tree

Masahiro Yamada yamada.masahiro at socionext.com
Sun Jan 31 17:15:03 CET 2016


Hi Simon,

2016-01-29 12:24 GMT+09:00 Simon Glass <sjg at chromium.org>:
> At present u-boot.bin holds the plain U-Boot binary without the device tree.
> This is somewhat annoying since you need either u-boot.bin or u-boot-dtb.bin
> depending on whether device tree is used.
>
> Adjust the build such that u-boot.bin includes a device tree (if enabled),
> and the plain binary is in u-boot-nodtb.bin. For now u-boot-dtb.bin remains
> the same.
>
> This should be acceptable since:
>
> - without OF_CONTROL, u-boot.bin still does not include a device tree
> - with OF_CONTROL, u-boot-dtb.bin does not change
>
> The main impact is build systems which are set up to use u-boot.bin as
> the output file and then add a device tree. These will have to change to use
> u-boot-nodtb.bin instead.
>
> Adjust tegra rules so it continues to produce the correct files.
>
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---




With this patch, u-boot-dtb.bin will be an intermediate file.
(u-boot.bin depends on u-boot-dtb.bin if CONFIG_OF_SEPARATE=y)


You can change

ALL-$(CONFIG_OF_SEPARATE) += u-boot.dtb u-boot-dtb.bin

to

ALL-$(CONFIG_OF_SEPARATE) += u-boot.dtb




> Changes in v2: None
>
>  Makefile | 24 ++++++++++++++++--------
>  1 file changed, 16 insertions(+), 8 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index 6b95e79..aebc43b 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -822,9 +822,17 @@ PHONY += dtbs
>  dtbs dts/dt.dtb: checkdtc u-boot
>         $(Q)$(MAKE) $(build)=dts dtbs
>
> -u-boot-dtb.bin: u-boot.bin dts/dt.dtb FORCE
> +ifeq ($(CONFIG_OF_CONTROL),y)

I think this should be  ifeq ($(CONFIG_OF_CONTROL_SEPARATE),y)

Otherwise, this  patch  embeds the DTB into the U-Boot image and
also adds it to the tail of the image.



> +u-boot-dtb.bin: u-boot-nodtb.bin dts/dt.dtb FORCE
>         $(call if_changed,cat)
>
> +u-boot.bin: u-boot-dtb.bin FORCE
> +       $(call if_changed,cat)
> +else
> +u-boot.bin: u-boot-nodtb.bin FORCE
> +       $(call if_changed,cat)
> +endif
>

Or, in stead, you can use $(call if_changed,copy) for clarification.
(you need to move the "cmd_copy" define a bit above, though.)

This might be a matter of preference, so I will leave this to you.






-- 
Best Regards
Masahiro Yamada


More information about the U-Boot mailing list