[Buildroot] [PATCH 1/2] boot/u-boot: fix u-boot.stm32 creation on newer version
David Reaver
me at davidreaver.com
Mon Jul 17 16:48:11 UTC 2023
Dario Binacchi <dario.binacchi at amarulasolutions.com> writes:
> As reported in commit [1] of the U-Boot project, the config.mk file has
> been suppressed in order to use binman to manage FIT generation.
>
> The added configuration option allows the creation of the u-boot.stm32
> image for both recent versions of U-Boot, which use binman, and older
> versions.
>
> [1] 5564b4cd4d5c69 ("stm32mp: add binman support for STM32MP15x")
> Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
> ---
> boot/uboot/Config.in | 10 ++++++++++
> boot/uboot/uboot.mk | 2 ++
> configs/avenger96_defconfig | 1 +
> configs/olimex_stmp157_olinuxino_lime_defconfig | 1 +
> configs/stm32mp157a_dk1_defconfig | 1 +
> configs/stm32mp157c_dk2_defconfig | 1 +
> configs/stm32mp157c_odyssey_defconfig | 1 +
> 7 files changed, 17 insertions(+)
>
> diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
> index 085397d03d0c..ab0aaf2939f9 100644
> --- a/boot/uboot/Config.in
> +++ b/boot/uboot/Config.in
> @@ -395,6 +395,16 @@ config BR2_TARGET_UBOOT_FORMAT_STM32
> bool "u-boot.stm32"
> depends on BR2_arm
>
> +if BR2_TARGET_UBOOT_FORMAT_STM32
> +config BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY
> + bool "Legacy build (u-boot.stm32 target)"
> + help
> + Select this option if you use U-Boot with version older than
> + 2022.01), so that we use the old build target. Otherwise,
> + binman application is called to create the stm32 binary
> + format.
> +endif
> +
> config BR2_TARGET_UBOOT_FORMAT_CUSTOM
> bool "Custom (specify below)"
> help
> diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
> index 4eae8e95c373..0b4b355a6c34 100644
> --- a/boot/uboot/uboot.mk
> +++ b/boot/uboot/uboot.mk
> @@ -133,8 +133,10 @@ endif
>
> ifeq ($(BR2_TARGET_UBOOT_FORMAT_STM32),y)
> UBOOT_BINS += u-boot.stm32
> +ifeq ($(BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY),y)
> UBOOT_MAKE_TARGET += u-boot.stm32
> endif
> +endif
>
> ifeq ($(BR2_TARGET_UBOOT_FORMAT_CUSTOM),y)
> UBOOT_BINS += $(call qstrip,$(BR2_TARGET_UBOOT_FORMAT_CUSTOM_NAME))
> diff --git a/configs/avenger96_defconfig b/configs/avenger96_defconfig
> index d2c1b9013ef2..1f8e7a50d1e7 100644
> --- a/configs/avenger96_defconfig
> +++ b/configs/avenger96_defconfig
> @@ -30,5 +30,6 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.07"
> BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted"
> # BR2_TARGET_UBOOT_FORMAT_BIN is not set
> BR2_TARGET_UBOOT_FORMAT_STM32=y
> +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y
> BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp15xx-dhcor-avenger96"
> BR2_PACKAGE_HOST_GENIMAGE=y
> diff --git a/configs/olimex_stmp157_olinuxino_lime_defconfig b/configs/olimex_stmp157_olinuxino_lime_defconfig
> index 3b56fefeca1c..44ff706fb2c5 100644
> --- a/configs/olimex_stmp157_olinuxino_lime_defconfig
> +++ b/configs/olimex_stmp157_olinuxino_lime_defconfig
> @@ -41,6 +41,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="STM32-OLinuXino-LIME"
> # BR2_TARGET_UBOOT_FORMAT_BIN is not set
> BR2_TARGET_UBOOT_FORMAT_IMG=y
> BR2_TARGET_UBOOT_FORMAT_STM32=y
> +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y
> BR2_TARGET_UBOOT_SPL=y
> BR2_TARGET_UBOOT_SPL_NAME="spl/u-boot-spl.stm32"
>
> diff --git a/configs/stm32mp157a_dk1_defconfig b/configs/stm32mp157a_dk1_defconfig
> index a487ce989148..3b8fdea993ac 100644
> --- a/configs/stm32mp157a_dk1_defconfig
> +++ b/configs/stm32mp157a_dk1_defconfig
> @@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
> BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted"
> # BR2_TARGET_UBOOT_FORMAT_BIN is not set
> BR2_TARGET_UBOOT_FORMAT_STM32=y
> +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y
> BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
> BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157a-dk1"
>
> diff --git a/configs/stm32mp157c_dk2_defconfig b/configs/stm32mp157c_dk2_defconfig
> index f1f7baaa0806..8b83bfe44353 100644
> --- a/configs/stm32mp157c_dk2_defconfig
> +++ b/configs/stm32mp157c_dk2_defconfig
> @@ -40,6 +40,7 @@ BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.10"
> BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted"
> # BR2_TARGET_UBOOT_FORMAT_BIN is not set
> BR2_TARGET_UBOOT_FORMAT_STM32=y
> +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y
> BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
> BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-dk2"
>
> diff --git a/configs/stm32mp157c_odyssey_defconfig b/configs/stm32mp157c_odyssey_defconfig
> index 6b699830b171..15b9a63b3926 100644
> --- a/configs/stm32mp157c_odyssey_defconfig
> +++ b/configs/stm32mp157c_odyssey_defconfig
> @@ -29,6 +29,7 @@ BR2_TARGET_UBOOT_BOARD_DEFCONFIG="stm32mp15_trusted"
> BR2_TARGET_UBOOT_NEEDS_DTC=y
> # BR2_TARGET_UBOOT_FORMAT_BIN is not set
> BR2_TARGET_UBOOT_FORMAT_STM32=y
> +BR2_TARGET_UBOOT_BUILD_FORMAT_STM32_LEGACY=y
> BR2_TARGET_UBOOT_NEEDS_OPENSSL=y
> BR2_TARGET_UBOOT_CUSTOM_MAKEOPTS="DEVICE_TREE=stm32mp157c-odyssey"
> BR2_PACKAGE_HOST_GENIMAGE=y
(Sorry for the folks receiving this email multiple times. My mailing
list settings were incorrect and my replies were bouncing.)
Thanks for this! I was messing with a new STM32MP157D over the weekend,
tried using a newer uboot version, and failed because of this exact
issue.
I applied this series, successfully created an SD card image, booted my
board with it, and it worked great. Here is the uboot version and my
board info from uboot's startup:
U-Boot 2023.04 (Jan 01 1980 - 00:00:00 +0000)
CPU: STM32MP157DAC Rev.Z
Model: STMicroelectronics STM32MP157A-DK1 Discovery Board
Board: stm32mp1 in trusted - stm32image mode (st,stm32mp157a-dk1)
Board: MB1272 Var3.0 Rev.C-03
Tested-by: David Reaver <me at davidreaver.com>
More information about the buildroot
mailing list