[Question] TI's u-boot.img is built twice

Neha Malcom Francis n-francis at ti.com
Fri Sep 22 07:27:02 CEST 2023


Hi Masahiro

On 21/09/23 21:06, Masahiro Yamada wrote:
> Hi.
> 
> Since the TI platform migrated to binman,
> u-boot.img is built twice.
> 
> It is created by "mkimage -E",
> then overwritten by binman.
> 
> 
> So, the data are embedded in the FIT structure
> instead of being appended.
> 
> Is this intentional?
> 
> To me, it looks weird.
> 
> 

I haven't added the fit,external-offset property in the binman.dtsi so it was 
not appended as external data and I did not find reason to. Is there any benefit 
in having the data appended than embedded?

> 
> 
> To confirm it, apply the following hack.
> 
> Since u-boot.img is overwritten by binman,
> copy it to u-boot.img.backup.
> 
> 
> 
> 
> diff --git a/Makefile b/Makefile
> index 87f9fc786e..4cffa8a061 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1112,6 +1112,7 @@ endef
>   # Timestamp file to make sure that binman always runs
>   .binman_stamp: $(INPUTS-y) FORCE
>   ifeq ($(CONFIG_BINMAN),y)
> +       cp u-boot.img u-boot.img.backup
>          $(call if_changed,binman)
>   endif
>          @touch $@
> 
> 
> 
> Then, build it for the main core.
> 
> 
> make -j$(nproc) CROSS_COMPILE=aarch64-linux-gnu-
>     am64x_evm_a53_defconfig all
>     TEE=~/ref/OP-TEE/optee_os/out/arm-plat-k3/core/tee-raw.bin
>     BL31=~/ref/trusted-firmware-a/build/k3/lite/release/bl31.bin
>     BINMAN_INDIRS=~/ref/ti-linux-firmware
> 
> 
> 
> 
> Compare the two files.
> Run fdtdump to see what happened to them.
> 
> 
> $ diff -u u-boot.img  u-boot.img.backup
> Binary files u-boot.img and u-boot.img.backup differ
> 
> 
> $ fdtdump u-boot.img
>      => u-boot and dt are embedded.
> 
> $ fdtdump u-boot.img.backup
>      => u-boot and dt are appended after the
>         FIT structure
> 
> 
> 

-- 
Thanking You
Neha Malcom Francis


More information about the U-Boot mailing list