From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 01 Jun 2026 15:43:07 +0200 Received: from metis.whiteo.stw.pengutronix.de ([2a0a:edc0:2:b01:1d::104]) by lore.white.stw.pengutronix.de with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wU2v5-001FJf-18 for lore@lore.pengutronix.de; Mon, 01 Jun 2026 15:43:07 +0200 Received: from [127.0.0.1] (helo=metis.whiteo.stw.pengutronix.de) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1wU2v5-0005O6-7g; Mon, 01 Jun 2026 15:43:07 +0200 Received: from h2.cmg2.smtp.forpsi.com ([81.2.195.189]) by metis.whiteo.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1wU2up-0005Ny-PI for ptxdist@pengutronix.de; Mon, 01 Jun 2026 15:42:52 +0200 Received: from lenoch ([91.218.190.200]) by cmgsmtp with ESMTPSA id U2unwsJPrPXKbU2uowgksW; Mon, 01 Jun 2026 15:42:51 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=triops.cz; s=f2019; t=1780321371; bh=9m9NzeUV7etIDxkhrjERgDO5m927meyWCBc9IEO53RY=; h=Date:From:To:Subject:Message-ID:MIME-Version:Content-Type; b=2BIgRLUIZ7Xo56dk9vWw+OGJZErCm5bRTP3RiTUzWhk642NqATKgzqj8SXMiGZr49 eWDmhYEihRmCxqxEQXNcONraFHi1qQ9MXPqFCm4MPhdEd97CkhkbTogoKY+ry1tR0p xU+frAIF3cyVuH0L8nFfmWAW/1TijhfRY9/xqHed5kbvrNb1lY57M0Qp3Z7tE/49E0 M6oSA6UW1/3v8CFLjbG3Rzcfd1C+isRGrswmP2/8rweXzP2jXW1SxT+q8m2VU8b4Vm jh2UtYbN922vGmjeozu/FC52ZASF+SPruTOjwKo/0WMdlkaEUkh1Z5uZO/AXSZ92p1 s8FSfIeR4W67Q== Date: Mon, 1 Jun 2026 15:42:49 +0200 From: Ladislav Michl To: ptxdist@pengutronix.de Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-CMAE-Envelope: MS4xfGOVRn47LQl3hlr+qP1MQhYtvaPUjqWK1pXqhTImmrwYiMNJFU0WyG3lWVZHVXKpEQmXHCc/syBZ4dPeU9lPBSskU6HrqtY0juK1YGY9h1AM6xMgFsuS bfJyrYEXs51w5G0T5UVeEg6lM3J75pfpMMtHI34CYW+XSqq5FA24TsO1yKI343VZaW86nfGg5anBgQ== X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on metis.whiteo.stw.pengutronix.de X-Spam-Level: X-Spam-Status: No, score=-2.3 required=4.0 tests=AWL,BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL,SPF_HELO_PASS,SPF_NONE autolearn=ham autolearn_force=no version=3.4.2 Subject: [ptxdist] [RFC] u-boot: Build in default envinronment from file X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.whiteo.stw.pengutronix.de); SAEximRunCond expanded to false Incorporating default envinroment from external file makes changes to it much easier compared to creating patch for u-boot creating config file with CONFIG_EXTRA_ENV_SETTINGS macro. This however requires xxd tool, so question is where to get it from? 1. leave to user, similar as HOST_SYSTEM_BC is made 2. add HOST_XXD, make it depend on HOST_VIM to reuse archive and compile just xxd 3. patch u-boot to not use xxd Except for the last case we would need something like select HOST_XXD if U_BOOT_DEFAULT_ENV in the Kconfig. Also, do we want envinronment file name configurable? Thanks for the suggestions, ladis --- platforms/u-boot.in | 9 +++++++++ rules/u-boot.make | 23 +++++++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/platforms/u-boot.in b/platforms/u-boot.in index d263135ca..c1abe3930 100644 --- a/platforms/u-boot.in +++ b/platforms/u-boot.in @@ -73,6 +73,15 @@ config U_BOOT_CONFIGFILE_KCONFIG help This entry specifies the .config file used to compile U-Boot. +config U_BOOT_DEFAULT_ENV + prompt "compile in default environment from file" + bool + help + Text file uboot-defaultenv.txt in the platform config directory + describing the builtin default environment. + The file should have lines in the form var=value, one per line. + Blank lines and lines starting with a # are ignored. + endif if U_BOOT_CONFIGSYSTEM_LEGACY diff --git a/rules/u-boot.make b/rules/u-boot.make index d3ea65cf2..1966ba9b6 100644 --- a/rules/u-boot.make +++ b/rules/u-boot.make @@ -39,6 +39,11 @@ endif U_BOOT_INJECT_PATH := ${PTXDIST_SYSROOT_TARGET}/usr/lib/firmware U_BOOT_INJECT_OOT := $(call ptx/ifdef, PTXCONF_U_BOOT_BUILD_OOT,YES,NO) +ifdef PTXCONF_U_BOOT_DEFAULT_ENV +U_BOOT_DEFAULT_ENV_TXT := $(call ptx/in-platformconfigdir, uboot-defaultenv.txt) +$(call ptx/cfghash-file, U_BOOT, $(U_BOOT_DEFAULT_ENV_TXT)) +endif + ifdef PTXCONF_U_BOOT_BOOT_SCRIPT U_BOOT_BOOT_SCRIPT_TXT := $(call ptx/in-platformconfigdir, uboot.scr) U_BOOT_BOOT_SCRIPT_BIN := $(call remove_quotes, \ @@ -119,6 +124,24 @@ endif $(STATEDIR)/u-boot.compile: @$(call targetinfo) +ifdef PTXCONF_U_BOOT_DEFAULT_ENV + @rm -rf $(U_BOOT_BUILD_DIR)/.ptxdist-defaultenv + @ln -s $(U_BOOT_DEFAULT_ENV_TXT) $(U_BOOT_BUILD_DIR)/.ptxdist-defaultenv +# # pre-2025.10 + @sed -i -e 's,^.*CONFIG_USE_DEFAULT_ENV_FILE.*$$,CONFIG_USE_DEFAULT_ENV_FILE=y,g' \ + $(U_BOOT_BUILD_DIR)/.config + @sed -i -e '/\\/d' \ + $(U_BOOT_BUILD_DIR)/.config + @sed -i -e '/CONFIG_USE_DEFAULT_ENV_FILE=y/a CONFIG_DEFAULT_ENV_FILE=".ptxdist-defaultenv"' \ + $(U_BOOT_BUILD_DIR)/.config +# # 2025.10 and later + @sed -i -e 's,^.*CONFIG_ENV_USE_DEFAULT_ENV_TEXT_FILE.*$$,CONFIG_ENV_USE_DEFAULT_ENV_TEXT_FILE=y,g' \ + $(U_BOOT_BUILD_DIR)/.config + @sed -i -e '/\\/d' \ + $(U_BOOT_BUILD_DIR)/.config + @sed -i -e '/CONFIG_ENV_USE_DEFAULT_ENV_TEXT_FILE=y/a CONFIG_ENV_DEFAULT_ENV_TEXT_FILE=".ptxdist-defaultenv"' \ + $(U_BOOT_BUILD_DIR)/.config +endif @$(call world/compile, U_BOOT) ifdef PTXCONF_U_BOOT_VERIFY_SIGNATURE @mv $(U_BOOT_BUILD_DIR)/u-boot.dtb $(U_BOOT_BUILD_DIR)/u-boot-pubkey.dtb -- 2.47.3