| Message ID | 20260106151022.29135-1-heiko.thiery@gmail.com |
|---|---|
| State | New |
| Headers | show |
| Series | [v3] package/uboot-tools: use uboot host tool printinitialenv to extract env | expand |
Hello Heiko, On Tue, 6 Jan 2026 16:10:23 +0100 Heiko Thiery <heiko.thiery@gmail.com> wrote: > diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk > index 1925047ccd..69e03f40d8 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); \ The redirect is still broken here, this command line is not correct, as it's not the same as it used to be. Thomas
Hi, Am Di., 6. Jan. 2026 um 16:43 Uhr schrieb Thomas Petazzoni <thomas.petazzoni@bootlin.com>: > > Hello Heiko, > > On Tue, 6 Jan 2026 16:10:23 +0100 > Heiko Thiery <heiko.thiery@gmail.com> wrote: > > > diff --git a/package/uboot-tools/uboot-tools.mk b/package/uboot-tools/uboot-tools.mk > > index 1925047ccd..69e03f40d8 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); \ > > The redirect is still broken here, this command line is not correct, as > it's not the same as it used to be. > shame on me .. I shouldn't do things like that on the side and then send them out untested. > Thomas > -- > Thomas Petazzoni, co-owner and CEO, Bootlin > Embedded Linux and Kernel engineering and training > https://bootlin.com
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..69e03f40d8 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
If u-boot is compiled with the LTO option, it is no longer possible to use the script 'get_default_envs.sh'. 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> --- v3: - fixed redirect (thanks Thomas) 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(-)