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

Reply via email to