[Buildroot] [PATCH 1/3] boot/at91bootstrap3: add support for at91bootstrap 4.x series
Yann E. MORIN
yann.morin.1998 at free.fr
Wed May 19 09:33:23 UTC 2021
Thomas, All,
On 2021-05-18 23:37 +0200, Thomas Petazzoni spake thusly:
> From: Eugen Hristev <eugen.hristev at microchip.com>
>
> The project at https://github.com/linux4sam/at91bootstrap was until
> now releasing 3.x versions, which were packaged using
> boot/at91bootstrap3/ in Buildroot. Microchip has now started a new
> branch of at91bootstrap, called 4.x, which will only support the
> following devices: sam9x60, sama5d2, sama5d3, sama5d4, sama7g5. A
> number of older devices from Microchip will only be supported by the
> existing 3.x series.
>
> Therefore, we cannot simply remove support for the 3.x series, and
> allow using only the 4.x series.
>
> So what this commit does is extend the boot/at91bootstrap3 package to
> support building both 3.x and 4.x versions. In detail, this implies:
>
> * Having the BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION symbol point to
> the latest 4.x version. Indeed, we want
> BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION to really point to the
> latest upstream version, even if that means potential breakage for
> users. Users who want to use a fixed version of at91bootstrap
> should anyway not be using
> BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION.
>
> * Introduce BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X for users who
> would like to use the latest 3.x series.
This introduces two issues.
First, and most important: this means that we now have two "known
versions". However, you forgot to account for the licensing stuff. We
use main.c as a substitute for a license file, but of course main.c
differs between 4.x and 3.x...
We could carry a per-version hash file, but using main.c as a license
file is really just hidding the issue. IOnstead, I've dropped it
altogether.
Eugen, Nicolas (and Simon?): would you care to add an actual license
file to your repository, please?
The second issue is less of an issue: there were two defconfigs that use
the default 3.x version. Without a tweak, they would have switched over
to using 4.x. So I pinned them with BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X.
> * Adjust the installation logic, as images to install are now in
> build/binaries/*.bin instead of binaries/*.bin. In order to not
> have to differentiate 3.x and 4.x, we simply use $(wildcard ...) to
> expand the list of files to install.
>
> * To make it clear that boot/at91bootstrap3 supports both 3.x and
> 4.x, we also update the prompt of the package.
>
> Signed-off-by: Eugen Hristev <eugen.hristev at microchip.com>
> [Thomas: while this patch is based on previous work by Eugen, it was
> reworked quite significantly.]
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni at bootlin.com>
With the aboce two issues adressed: applied to next, thanks.
Regards,
Yann E. MORIN.
> ---
> boot/at91bootstrap3/Config.in | 10 +++++++---
> boot/at91bootstrap3/at91bootstrap3.hash | 1 +
> boot/at91bootstrap3/at91bootstrap3.mk | 2 +-
> 3 files changed, 9 insertions(+), 4 deletions(-)
>
> diff --git a/boot/at91bootstrap3/Config.in b/boot/at91bootstrap3/Config.in
> index 25ab30489f..ebc912e46c 100644
> --- a/boot/at91bootstrap3/Config.in
> +++ b/boot/at91bootstrap3/Config.in
> @@ -1,5 +1,5 @@
> config BR2_TARGET_AT91BOOTSTRAP3
> - bool "AT91 Bootstrap 3"
> + bool "AT91 Bootstrap 3+"
> depends on BR2_arm926t || BR2_cortex_a5 || BR2_cortex_a7
> help
> AT91Bootstrap is a first level bootloader for the Atmel AT91
> @@ -16,9 +16,12 @@ if BR2_TARGET_AT91BOOTSTRAP3
>
> choice
>
> - prompt "AT91 Bootstrap 3 version"
> + prompt "AT91 Bootstrap 3+ version"
>
> config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
> + bool "4.0.0-rc2"
> +
> +config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X
> bool "3.9.3"
>
> config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
> @@ -51,7 +54,8 @@ endif
>
> config BR2_TARGET_AT91BOOTSTRAP3_VERSION
> string
> - default "v3.9.3" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
> + default "v4.0.0-rc2" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
> + default "v3.9.3" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X
> default BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION \
> if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
> default "custom" if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL
> diff --git a/boot/at91bootstrap3/at91bootstrap3.hash b/boot/at91bootstrap3/at91bootstrap3.hash
> index 6b6257b0ab..a63eb1d623 100644
> --- a/boot/at91bootstrap3/at91bootstrap3.hash
> +++ b/boot/at91bootstrap3/at91bootstrap3.hash
> @@ -1,3 +1,4 @@
> # Locally calculated
> sha256 dd6a3c57c1c84fc3b18187bee3d139146a0e032dd1d8edea7b242730e0bc4fe1 at91bootstrap3-v3.9.3.tar.gz
> +sha256 b5d5f042297cad0d091f7d8734e61eb9ec7b6020898e086503fb5f8bc71fb9fc at91bootstrap3-v4.0.0-rc2.tar.gz
> sha256 fd7a1ce5719bb7abf5e289da2e0ea8c933af3ba0f6ad03dbdbd2b7f54a77498a main.c
> diff --git a/boot/at91bootstrap3/at91bootstrap3.mk b/boot/at91bootstrap3/at91bootstrap3.mk
> index a942afcdc9..fdd87591bb 100644
> --- a/boot/at91bootstrap3/at91bootstrap3.mk
> +++ b/boot/at91bootstrap3/at91bootstrap3.mk
> @@ -48,7 +48,7 @@ define AT91BOOTSTRAP3_BUILD_CMDS
> endef
>
> define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS
> - cp $(@D)/binaries/*.bin $(BINARIES_DIR)
> + cp $(wildcard $(@D)/build/binaries/*.bin $(@D)/binaries/*.bin) $(BINARIES_DIR)
> endef
>
> ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y)
> --
> 2.31.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
More information about the buildroot
mailing list