* [Buildroot] [PATCH v2] package/uboot-tools: use U-Boot host tool printinitialenv to extract environment
@ 2026-01-05 13:23 Heiko Thiery
2026-01-05 13:42 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 5+ messages in thread
From: Heiko Thiery @ 2026-01-05 13:23 UTC (permalink / raw)
To: buildroot; +Cc: Matt Weber, Michael Walle, Heiko Thiery, Thomas Petazzoni
If u-boot is compiled with the LTO option, it is no longer possible to
use the script 'get_default_envs.sh' for creating an initial U-boot
environment binary image. The problem was already observed and a solution
available upstream u-boot since the commit 486aef08de09 [1].
This was first available in release v2023.04.
Now if the the new tool 'printinitialenv' is available it is used. The
tool is build with u-boot that is a dependency of this package.
[1] https://source.denx.de/u-boot/custodians/u-boot-tegra/-/commit/486aef08de091ca35386f32fe961a201c3cfa9d4
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
---
v2:
- used hint from Arnout to check for availibity of the new tool
boot/uboot/uboot.mk | 4 ++++
package/uboot-tools/uboot-tools.mk | 9 +++++----
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index c92568a559..e613d015a9 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -144,6 +144,10 @@ UBOOT_MAKE_TARGET += u-boot.stm32
endif
endif
+ifeq ($(BR2_PACKAGE_HOST_UBOOT_TOOLS_ENVIMAGE),y)
+UBOOT_MAKE_TARGET += u-boot-initial-env
+endif
+
ifeq ($(BR2_TARGET_UBOOT_INITIAL_ENV),y)
UBOOT_MAKE_TARGET += u-boot-initial-env
define UBOOT_INSTALL_UBOOT_INITIAL_ENV
diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk
index 1925047ccd..f8d9cae270 100644
--- a/package/uboot-tools/uboot-tools.mk
+++ b/package/uboot-tools/uboot-tools.mk
@@ -154,10 +154,11 @@ HOST_UBOOT_TOOLS_DEPENDENCIES += uboot
ifeq ($(UBOOT_TOOLS_GENERATE_ENV_FILE),)
UBOOT_TOOLS_GENERATE_ENV_FILE = $(@D)/boot-env-defaults.txt
define HOST_UBOOT_TOOLS_GENERATE_ENV_DEFAULTS
- CROSS_COMPILE="$(TARGET_CROSS)" \
- $(UBOOT_SRCDIR)/scripts/get_default_envs.sh \
- $(UBOOT_SRCDIR) \
- > $(UBOOT_TOOLS_GENERATE_ENV_FILE)
+ if [ -x $(UBOOT_SRCDIR)/tools/printinitialenv ]; then \
+ $(UBOOT_SRCDIR)/tools/printinitialenv > $(UBOOT_TOOLS_GENERATE_ENV_FILE); \
+ else \
+ CROSS_COMPILE="$(TARGET_CROSS)" $(UBOOT_SRCDIR)/scripts/get_default_envs.sh $(UBOOT_SRCDIR); \
+ fi
endef
endif # UBOOT_TOOLS_GENERATE_ENV_FILE
endif # BR2_TARGET_UBOOT
--
2.39.5
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH v2] package/uboot-tools: use U-Boot host tool printinitialenv to extract environment
2026-01-05 13:23 [Buildroot] [PATCH v2] package/uboot-tools: use U-Boot host tool printinitialenv to extract environment Heiko Thiery
@ 2026-01-05 13:42 ` Thomas Petazzoni via buildroot
2026-01-05 13:50 ` Heiko Thiery
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-01-05 13:42 UTC (permalink / raw)
To: Heiko Thiery; +Cc: Matt Weber, Michael Walle, buildroot
Hello Heiko,
On Mon, 5 Jan 2026 14:23:27 +0100
Heiko Thiery <heiko.thiery@gmail.com> wrote:
> + if [ -x $(UBOOT_SRCDIR)/tools/printinitialenv ]; then \
> + $(UBOOT_SRCDIR)/tools/printinitialenv > $(UBOOT_TOOLS_GENERATE_ENV_FILE); \
> + else \
> + CROSS_COMPILE="$(TARGET_CROSS)" $(UBOOT_SRCDIR)/scripts/get_default_envs.sh $(UBOOT_SRCDIR); \
Aren't you now missing the > $(UBOOT_TOOLS_GENERATE_ENV_FILE)
redirection in this "else" clause ?
I'm not sure why we're using $(UBOOT_SRCDIR) in all of this instead of
$(@D), but that's a comment unrelated to your change.
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH v2] package/uboot-tools: use U-Boot host tool printinitialenv to extract environment
2026-01-05 13:42 ` Thomas Petazzoni via buildroot
@ 2026-01-05 13:50 ` Heiko Thiery
2026-01-05 13:56 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 5+ messages in thread
From: Heiko Thiery @ 2026-01-05 13:50 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Matt Weber, Michael Walle, buildroot
Hi Thomas,
Am Mo., 5. Jan. 2026 um 14:42 Uhr schrieb Thomas Petazzoni
<thomas.petazzoni@bootlin.com>:
>
> Hello Heiko,
>
> On Mon, 5 Jan 2026 14:23:27 +0100
> Heiko Thiery <heiko.thiery@gmail.com> wrote:
>
> > + if [ -x $(UBOOT_SRCDIR)/tools/printinitialenv ]; then \
> > + $(UBOOT_SRCDIR)/tools/printinitialenv > $(UBOOT_TOOLS_GENERATE_ENV_FILE); \
> > + else \
> > + CROSS_COMPILE="$(TARGET_CROSS)" $(UBOOT_SRCDIR)/scripts/get_default_envs.sh $(UBOOT_SRCDIR); \
>
> Aren't you now missing the > $(UBOOT_TOOLS_GENERATE_ENV_FILE)
> redirection in this "else" clause ?
you are right ;-/
>
>
> I'm not sure why we're using $(UBOOT_SRCDIR) in all of this instead of
> $(@D), but that's a comment unrelated to your change.
>
At least for the first case we need to use the file coming from the
built U-Boot and not from the used sources from u-boot-tools package
(an older U-Boot version). How it is for the "old" path I do not know
if we could use here the script from the u-boot-tools package version
or if it is also related to the U-Boot sources related to the
environment.
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com
--
BR
Heiko
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH v2] package/uboot-tools: use U-Boot host tool printinitialenv to extract environment
2026-01-05 13:50 ` Heiko Thiery
@ 2026-01-05 13:56 ` Thomas Petazzoni via buildroot
2026-01-05 15:31 ` Arnout Vandecappelle via buildroot
0 siblings, 1 reply; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-01-05 13:56 UTC (permalink / raw)
To: Heiko Thiery; +Cc: Matt Weber, Michael Walle, buildroot
On Mon, 5 Jan 2026 14:50:44 +0100
Heiko Thiery <heiko.thiery@gmail.com> wrote:
> > I'm not sure why we're using $(UBOOT_SRCDIR) in all of this instead of
> > $(@D), but that's a comment unrelated to your change.
>
> At least for the first case we need to use the file coming from the
> built U-Boot and not from the used sources from u-boot-tools package
> (an older U-Boot version). How it is for the "old" path I do not know
> if we could use here the script from the u-boot-tools package version
> or if it is also related to the U-Boot sources related to the
> environment.
Aaah, yes, indeed.
Isn't it a bit crappy that the uboot-tools package does that? This
logic is in uboot-tools, but it uses nothing from uboot-tools, only
stuff from the uboot package. But oh well, we're not going to
revolutionize this now :)
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Buildroot] [PATCH v2] package/uboot-tools: use U-Boot host tool printinitialenv to extract environment
2026-01-05 13:56 ` Thomas Petazzoni via buildroot
@ 2026-01-05 15:31 ` Arnout Vandecappelle via buildroot
0 siblings, 0 replies; 5+ messages in thread
From: Arnout Vandecappelle via buildroot @ 2026-01-05 15:31 UTC (permalink / raw)
To: Thomas Petazzoni, Heiko Thiery; +Cc: buildroot, Matt Weber, Michael Walle
On 05/01/2026 14:56, Thomas Petazzoni wrote:
> On Mon, 5 Jan 2026 14:50:44 +0100
> Heiko Thiery <heiko.thiery@gmail.com> wrote:
>
>>> I'm not sure why we're using $(UBOOT_SRCDIR) in all of this instead of
>>> $(@D), but that's a comment unrelated to your change.
>>
>> At least for the first case we need to use the file coming from the
>> built U-Boot and not from the used sources from u-boot-tools package
>> (an older U-Boot version). How it is for the "old" path I do not know
>> if we could use here the script from the u-boot-tools package version
>> or if it is also related to the U-Boot sources related to the
>> environment.
>
> Aaah, yes, indeed.
>
> Isn't it a bit crappy that the uboot-tools package does that? This
> logic is in uboot-tools, but it uses nothing from uboot-tools, only
> stuff from the uboot package. But oh well, we're not going to
> revolutionize this now :)
The file that comes out of it is used in HOST_UBOOT_TOOLS_GENERATE_ENVIMAGE.
Of course, we could generate that file in uboot.mk and then use it in
uboot-tools.mk, but then uboot.mk has to "know" that it needs to create this file...
Regards,
Arnout
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2026-01-05 15:31 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-05 13:23 [Buildroot] [PATCH v2] package/uboot-tools: use U-Boot host tool printinitialenv to extract environment Heiko Thiery
2026-01-05 13:42 ` Thomas Petazzoni via buildroot
2026-01-05 13:50 ` Heiko Thiery
2026-01-05 13:56 ` Thomas Petazzoni via buildroot
2026-01-05 15:31 ` Arnout Vandecappelle via buildroot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.