[Question] TI's u-boot.img is built twice
Andrew Davis
afd at ti.com
Fri Sep 22 18:35:18 CEST 2023
On 9/22/23 10:01 AM, Simon Glass wrote:
> Hi Masahiro,
>
> On Thu, 21 Sept 2023 at 09:36, Masahiro Yamada <masahiroy at kernel.org> 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.
>>
>>
>>
>>
>> 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
>
> That seems like a bug to me...at some point we might consider building
> u-boot.img with Binman, but for now it is built by the Makefile.
>
This is not true for K3 as we now use Binman for u-boot.img generation
(we need this as we have a signing step injected at this point).
So as Masahiro suggested in the other branch of this thread, we need
to disable the Makefile generation of u-boot.img for K3.
Neha,
Can you take this action? I assume you can add it as part of your
work in making the data external again, which would make the u-boot.img
identical to before and hence Makefile version could be disabled at
the same time/series.
Andrew
>>
>>
>>
>> --
>> Best Regards
>> Masahiro Yamada
>
> Regards,
> Simon
More information about the U-Boot
mailing list