[Buildroot] [PATCH v12 05/16] boot/uboot: add BR2_TARGET_UBOOT_USE_BINMAN option

Romain Naour romain.naour at smile.fr
Tue Apr 9 11:58:10 UTC 2024


Hello James,

Le 08/04/2024 à 18:11, James Hilliard a écrit :
> On Sun, Apr 7, 2024 at 4:35 AM Romain Naour <romain.naour at smile.fr> wrote:
>>
>> From: Dario Binacchi <dario.binacchi at amarulasolutions.com>
>>
>> Recent version of U-Boot use binman to provide a mechanism for building
>> images, from simple SPL + U-Boot combinations, to more complex
>> arrangements with many parts.
>>
>> This tool uses additional host python modules that must be provided by
>> Buildroot. So introduce a new option BR2_TARGET_UBOOT_USE_BINMAN to
>> add additional host packages in U-Boot build dependency to use binman.
>>
>> The binman requirement is directly included in buildman dependency
>> (tools/buildman/requirements.txt) since within U-Boot, binman is
>> invoked by the build system, here buildman [1].
>>
>> [1] https://docs.u-boot.org/en/v2024.01/develop/package/binman.html#invoking-binman-within-u-boot
>>
>> Co-developed-by: Romain Naour <romain.naour at smile.fr>
>> Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
>> Signed-off-by: Romain Naour <romain.naour at smile.fr>
>> ---
>> Changes in v12:
>> - remove BR2_PACKAGE_TI_K3 part since this option has been removed from this series
>> - remove TI K3 specific part from the commit log
>>
>> Changes in v11:
>> - Add ti-k3-boot-firmware depedendency when both BR2_TARGET_UBOOT_USE_BINMAN
>>   and BR2_PACKAGE_TI_K3 are set
>> - drop BR2_TARGET_UBOOT_NEEDS_TI_K3_DM related changes
>>
>> Changes in v7:
>> - Replace ifneq ($(BR2_TARGET_UBOOT_USE_BINMAN),y) with
>>   ifeq ($(BR2_TARGET_UBOOT_USE_BINMAN),).
>> - Update the commit message
>>
>> Changes in v6:
>> - BR2_TARGET_UBOOT_USE_BINMAN
>> - Binman tool is not specific to TI K3 platform, so add an option to specify
>>   the use of Binman in U-Boot.
>> - Add runtime dependencies
>> - Update commit message
>> - Add SOB and COB tags of Romain Naour
>>
>> Changes in v5:
>> - Drop "DM=$(BINARIES_DIR)/ti-dm/$(UBOOT_TI_K3_DM_SOCNAME)/ipc_echo_testb_mcu1_0_release_strip.xer5f"
>>   from UBOOT_MAKE_OPTS.
>>
>> no changes since v1:
>> ---
>>  boot/uboot/Config.in | 11 +++++++++++
>>  boot/uboot/uboot.mk  |  8 ++++++++
>>  2 files changed, 19 insertions(+)
>>
>> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
>> index e310c09217..39e49d681b 100644
>> --- a/boot/uboot/Config.in
>> +++ b/boot/uboot/Config.in
>> @@ -295,6 +295,17 @@ config BR2_TARGET_UBOOT_NEEDS_ROCKCHIP_RKBIN
>>           This option makes sure that the needed binary blobs are copied
>>           into the U-Boot source directory.
>>
>> +config BR2_TARGET_UBOOT_USE_BINMAN
>> +       bool "U-Boot use binman"
>> +       depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS # python-rpds-py -> python-jsonschema
> 
> This comment doesn't look right, what is selecting python-rpds-py and
> python-jsonschema?

You're right, only host-python-jsonschema is required so this depency is not needed.

Best regards,
Romain


> 
>> +       select BR2_TARGET_UBOOT_NEEDS_PYTHON3
>> +       select BR2_TARGET_UBOOT_NEEDS_PYELFTOOLS
>> +       select BR2_TARGET_UBOOT_NEEDS_PYLIBFDT
>> +       help
>> +         Use binman tool for generation and signing of boot images.
>> +
>> +         https://docs.u-boot.org/en/v2024.01/develop/package/binman.html
>> +
>>  menu "U-Boot binary format"
>>
>>  config BR2_TARGET_UBOOT_FORMAT_AIS
>> diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
>> index 47fb419e92..398485195e 100644
>> --- a/boot/uboot/uboot.mk
>> +++ b/boot/uboot/uboot.mk
>> @@ -279,6 +279,14 @@ ifeq ($(BR2_TARGET_UBOOT_NEEDS_XXD),y)
>>  UBOOT_DEPENDENCIES += host-vim
>>  endif
>>
>> +ifeq ($(BR2_TARGET_UBOOT_USE_BINMAN),y)
>> +# https://source.denx.de/u-boot/u-boot/-/blob/v2024.01/tools/buildman/requirements.txt
>> +UBOOT_DEPENDENCIES += \
>> +       host-python-jsonschema \
>> +       host-python-pyyaml
>> +UBOOT_MAKE_OPTS += BINMAN_INDIRS=$(BINARIES_DIR)
>> +endif
>> +
>>  # prior to u-boot 2013.10 the license info was in COPYING. Copy it so
>>  # legal-info finds it
>>  define UBOOT_COPY_OLD_LICENSE_FILE
>> --
>> 2.44.0
>>
>> _______________________________________________
>> buildroot mailing list
>> buildroot at buildroot.org
>> https://lists.buildroot.org/mailman/listinfo/buildroot




More information about the buildroot mailing list