All of lore.kernel.org
 help / color / mirror / Atom feed
* [OE-core][PATCH] u-boot: Convert ${UBOOT_ENV}.cmd into ${UBOOT_ENV}.env
@ 2025-01-28 14:57 thomas.perrot
  2025-01-29 22:11 ` Adrian Freihofer
  0 siblings, 1 reply; 5+ messages in thread
From: thomas.perrot @ 2025-01-28 14:57 UTC (permalink / raw)
  To: openembedded-core; +Cc: thomas.petazzoni, Thomas Perrot

From: Thomas Perrot <thomas.perrot@bootlin.com>

It is U-Boot environment files that contain environment variables
in a binary format, that enables compact data storage and allows
for faster loading and processing by U-Boot.

Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
---
 meta/classes-recipe/uboot-config.bbclass |  8 +++++++-
 meta/recipes-bsp/u-boot/u-boot.inc       | 11 +++++++++--
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/meta/classes-recipe/uboot-config.bbclass b/meta/classes-recipe/uboot-config.bbclass
index bf21961977cc..50e16efe50aa 100644
--- a/meta/classes-recipe/uboot-config.bbclass
+++ b/meta/classes-recipe/uboot-config.bbclass
@@ -75,6 +75,12 @@ UBOOT_EXTLINUX_SYMLINK ?= "${UBOOT_EXTLINUX_CONF_NAME}-${MACHINE}-${PR}"
 UBOOT_MKIMAGE_DTCOPTS ??= ""
 SPL_MKIMAGE_DTCOPTS ??= ""
 
+# Options for the binary format, such as enabling a redundant environment.
+UBOOT_MKENVIMAGE_BIN_ARGS ??= ""
+
+#mkenvimage command
+UBOOT_MKENVIMAGE ?= "uboot-mkenvimage"
+
 # mkimage command
 UBOOT_MKIMAGE ?= "uboot-mkimage"
 UBOOT_MKIMAGE_SIGN ?= "${UBOOT_MKIMAGE}"
@@ -119,7 +125,7 @@ python () {
         for config in ubootconfig:
             found = False
             for f, v in ubootconfigflags.items():
-                if config == f: 
+                if config == f:
                     found = True
                     items = v.split(',')
                     if items[0] and len(items) > 3:
diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 3270c22e8d42..f1308d65609f 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -4,6 +4,7 @@ PROVIDES = "virtual/bootloader"
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
 DEPENDS += "${@bb.utils.contains('UBOOT_ENV_SUFFIX', 'scr', 'u-boot-mkimage-native', '', d)}"
+DEPENDS += "${@bb.utils.contains('UBOOT_ENV_SUFFIX', 'env', 'u-boot-mkenvimage-native', '', d)}"
 
 inherit uboot-config uboot-extlinux-config uboot-sign deploy python3native kernel-arch
 
@@ -68,9 +69,15 @@ do_compile () {
         uboot_compile
     fi
 
-    if [ -n "${UBOOT_ENV}" ] && [ "${UBOOT_ENV_SUFFIX}" = "scr" ]
+    if [ -n "${UBOOT_ENV}" ]
     then
-        ${UBOOT_MKIMAGE} -C none -A ${UBOOT_ARCH} -T script -d ${UNPACKDIR}/${UBOOT_ENV_SRC} ${B}/${UBOOT_ENV_BINARY}
+        if [ "${UBOOT_ENV_SUFFIX}" = "scr" ]
+        then
+            ${UBOOT_MKIMAGE} -C none -A ${UBOOT_ARCH} -T script -d ${UNPACKDIR}/${UBOOT_ENV_SRC} ${B}/${UBOOT_ENV_BINARY}
+        elif [ "${UBOOT_ENV_SUFFIX}" = "env" ]
+        then
+            ${UBOOT_MKENVIMAGE} ${UBOOT_MKENVIMAGE_BIN_ARGS} -s ${UBOOT_ENV_SIZE} ${UNPACKDIR}/${UBOOT_ENV_SRC} -o ${B}/${UBOOT_ENV_BINARY}
+        fi
     fi
 }
 
-- 
2.48.1



^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-02-04 12:59 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-28 14:57 [OE-core][PATCH] u-boot: Convert ${UBOOT_ENV}.cmd into ${UBOOT_ENV}.env thomas.perrot
2025-01-29 22:11 ` Adrian Freihofer
2025-01-29 22:39   ` Richard Purdie
2025-01-29 22:48     ` Adrian Freihofer
2025-02-04 12:59       ` Thomas Perrot

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.