All of lore.kernel.org
 help / color / mirror / Atom feed
* [OE-core] [PATCH V3 0/3] Introduce UBOOT_INITIAL_ENV/cfg files fixes/coding style fixes
@ 2020-05-28 12:41 Ming Liu
  2020-05-28 12:41 ` [OE-core] [PATCH V3 1/3] u-boot: support merging .cfg files for UBOOT_CONFIG Ming Liu
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Ming Liu @ 2020-05-28 12:41 UTC (permalink / raw)
  To: openembedded-core; +Cc: stefan.agner, max.krummenacher, denys, Ming Liu

From: Ming Liu <ming.liu@toradex.com>

Changes in V2:

1 Introduce UBOOT_INITIAL_ENV as suggested by Denys Dmytriyenko.
2 Fix cfg files in case UBOOT_CONFIG is enabled.
3 Add fix for some inconsistent coding style.

Ming Liu (3):
  u-boot: support merging .cfg files for UBOOT_CONFIG
  u-boot.inc: fix some inconsistent coding style
  u-boot: introduce UBOOT_INITIAL_ENV

 meta/recipes-bsp/u-boot/u-boot.inc | 120 ++++++++++++++++++-----------
 1 file changed, 74 insertions(+), 46 deletions(-)

-- 
2.26.2


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

* [OE-core] [PATCH V3 1/3] u-boot: support merging .cfg files for UBOOT_CONFIG
  2020-05-28 12:41 [OE-core] [PATCH V3 0/3] Introduce UBOOT_INITIAL_ENV/cfg files fixes/coding style fixes Ming Liu
@ 2020-05-28 12:41 ` Ming Liu
  2020-05-29 20:09   ` Denys Dmytriyenko
  2020-05-28 12:41 ` [OE-core] [PATCH V3 2/3] u-boot.inc: fix some inconsistent coding style Ming Liu
  2020-05-28 12:41 ` [OE-core] [PATCH V3 3/3] u-boot: introduce UBOOT_INITIAL_ENV Ming Liu
  2 siblings, 1 reply; 7+ messages in thread
From: Ming Liu @ 2020-05-28 12:41 UTC (permalink / raw)
  To: openembedded-core; +Cc: stefan.agner, max.krummenacher, denys, Ming Liu

From: Ming Liu <ming.liu@toradex.com>

U-boot recipe supports .cfg files in SRC_URI, but they would be merged
to .config during do_configure only when UBOOT_MACHINE is set, we
should also support merging .cfg files for UBOOT_CONFIG.

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
Signed-off-by: Ming Liu <ming.liu@toradex.com>
---
 meta/recipes-bsp/u-boot/u-boot.inc | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 80f828df52..8cfd25020c 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -77,7 +77,23 @@ def find_cfgs(d):
     return sources_list
 
 do_configure () {
-    if [ -z "${UBOOT_CONFIG}" ]; then
+    if [ -n "${UBOOT_CONFIG}" ]; then
+        unset i j
+        for config in ${UBOOT_MACHINE}; do
+            i=$(expr $i + 1);
+            for type in ${UBOOT_CONFIG}; do
+                j=$(expr $j + 1);
+                if [ $j -eq $i ]; then
+                    oe_runmake -C ${S} O=${B}/${config} ${config}
+                    merge_config.sh -m -O ${B}/${config} ${B}/${config}/.config ${@" ".join(find_cfgs(d))}
+                    oe_runmake -C ${S} O=${B}/${config} oldconfig
+                fi
+            done
+            unset j
+        done
+        unset i
+        DEVTOOL_DISABLE_MENUCONFIG=true
+    else
         if [ -n "${UBOOT_MACHINE}" ]; then
             oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
         else
@@ -85,8 +101,6 @@ do_configure () {
         fi
         merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
         cml1_do_configure
-    else
-        DEVTOOL_DISABLE_MENUCONFIG=true
     fi
 }
 
@@ -114,7 +128,6 @@ do_compile () {
                 j=$(expr $j + 1);
                 if [ $j -eq $i ]
                 then
-                    oe_runmake -C ${S} O=${B}/${config} ${config}
                     oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
                     for binary in ${UBOOT_BINARIES}; do
                         k=$(expr $k + 1);
-- 
2.26.2


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

* [OE-core] [PATCH V3 2/3] u-boot.inc: fix some inconsistent coding style
  2020-05-28 12:41 [OE-core] [PATCH V3 0/3] Introduce UBOOT_INITIAL_ENV/cfg files fixes/coding style fixes Ming Liu
  2020-05-28 12:41 ` [OE-core] [PATCH V3 1/3] u-boot: support merging .cfg files for UBOOT_CONFIG Ming Liu
@ 2020-05-28 12:41 ` Ming Liu
  2020-05-28 12:41 ` [OE-core] [PATCH V3 3/3] u-boot: introduce UBOOT_INITIAL_ENV Ming Liu
  2 siblings, 0 replies; 7+ messages in thread
From: Ming Liu @ 2020-05-28 12:41 UTC (permalink / raw)
  To: openembedded-core; +Cc: stefan.agner, max.krummenacher, denys, Ming Liu

From: Ming Liu <ming.liu@toradex.com>

Signed-off-by: Ming Liu <ming.liu@toradex.com>
---
 meta/recipes-bsp/u-boot/u-boot.inc | 44 ++++++++++++++----------------
 1 file changed, 21 insertions(+), 23 deletions(-)

diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index 8cfd25020c..be15e1760f 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -105,19 +105,19 @@ do_configure () {
 }
 
 do_compile () {
-	if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
-		sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
-	fi
+    if [ "${@bb.utils.filter('DISTRO_FEATURES', 'ld-is-gold', d)}" ]; then
+        sed -i 's/$(CROSS_COMPILE)ld$/$(CROSS_COMPILE)ld.bfd/g' ${S}/config.mk
+    fi
 
-	unset LDFLAGS
-	unset CFLAGS
-	unset CPPFLAGS
+    unset LDFLAGS
+    unset CFLAGS
+    unset CPPFLAGS
 
-	if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
-	then
-		echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
-		echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
-	fi
+    if [ ! -e ${B}/.scmversion -a ! -e ${S}/.scmversion ]
+    then
+        echo ${UBOOT_LOCALVERSION} > ${B}/.scmversion
+        echo ${UBOOT_LOCALVERSION} > ${S}/.scmversion
+    fi
 
     if [ -n "${UBOOT_CONFIG}" ]
     then
@@ -143,16 +143,15 @@ do_compile () {
                     unset k
                 fi
             done
-            unset  j
+            unset j
         done
-        unset  i
+        unset i
     else
         oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
 
         # Generate the uboot-initial-env
         oe_runmake -C ${S} O=${B} u-boot-initial-env
     fi
-
 }
 
 do_install () {
@@ -175,9 +174,9 @@ do_install () {
                     ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env
                 fi
             done
-            unset  j
+            unset j
         done
-        unset  i
+        unset i
     else
         install -D -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
         ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
@@ -232,9 +231,9 @@ do_install () {
                          ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${D}/boot/${SPL_BINARYNAME}
                     fi
                 done
-                unset  j
+                unset j
             done
-            unset  i
+            unset i
         else
             install -m 644 ${B}/${SPL_BINARY} ${D}/boot/${SPL_IMAGE}
             ln -sf ${SPL_IMAGE} ${D}/boot/${SPL_BINARYNAME}
@@ -251,7 +250,6 @@ do_install () {
     then
         install -Dm 0644 ${UBOOT_EXTLINUX_CONFIG} ${D}/${UBOOT_EXTLINUX_INSTALL_DIR}/${UBOOT_EXTLINUX_CONF_NAME}
     fi
-
 }
 
 PACKAGE_BEFORE_PN += "${PN}-env"
@@ -288,9 +286,9 @@ do_deploy () {
                     ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${PN}-initial-env-${type}
                 fi
             done
-            unset  j
+            unset j
         done
-        unset  i
+        unset i
     else
         install -D -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
 
@@ -359,9 +357,9 @@ do_deploy () {
                         ln -sf ${SPL_IMAGE}-${type}-${PV}-${PR} ${DEPLOYDIR}/${SPL_SYMLINK}
                     fi
                 done
-                unset  j
+                unset j
             done
-            unset  i
+            unset i
         else
             install -m 644 ${B}/${SPL_BINARY} ${DEPLOYDIR}/${SPL_IMAGE}
             rm -f ${DEPLOYDIR}/${SPL_BINARYNAME} ${DEPLOYDIR}/${SPL_SYMLINK}
-- 
2.26.2


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

* [OE-core] [PATCH V3 3/3] u-boot: introduce UBOOT_INITIAL_ENV
  2020-05-28 12:41 [OE-core] [PATCH V3 0/3] Introduce UBOOT_INITIAL_ENV/cfg files fixes/coding style fixes Ming Liu
  2020-05-28 12:41 ` [OE-core] [PATCH V3 1/3] u-boot: support merging .cfg files for UBOOT_CONFIG Ming Liu
  2020-05-28 12:41 ` [OE-core] [PATCH V3 2/3] u-boot.inc: fix some inconsistent coding style Ming Liu
@ 2020-05-28 12:41 ` Ming Liu
  2020-05-29 20:11   ` Denys Dmytriyenko
  2 siblings, 1 reply; 7+ messages in thread
From: Ming Liu @ 2020-05-28 12:41 UTC (permalink / raw)
  To: openembedded-core; +Cc: stefan.agner, max.krummenacher, denys, Ming Liu

From: Ming Liu <ming.liu@toradex.com>

It defaults to ${PN}-initial-env, no functional changes with current
implementation, but this allows it to be changed in individual u-boot
recipes.

If UBOOT_INITIAL_ENV is empty, then no initial env would be compiled/
installed/deployed, set ALLOW_EMPTY_${PN}-env = "1".

The major purpose for introducing this, is that the users might have
some scripts on targets like:
```
/sbin/fw_setenv -f /etc/u-boot-initial-env
```

and it should be able to run against a identical path generated by
different u-boot recipes.

Signed-off-by: Ming Liu <ming.liu@toradex.com>
---
 meta/recipes-bsp/u-boot/u-boot.inc | 55 +++++++++++++++++++-----------
 1 file changed, 36 insertions(+), 19 deletions(-)

diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
index be15e1760f..8e60615e5c 100644
--- a/meta/recipes-bsp/u-boot/u-boot.inc
+++ b/meta/recipes-bsp/u-boot/u-boot.inc
@@ -60,6 +60,10 @@ UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
 UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
 UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
 
+# Default name of u-boot initial env, but enable individual recipes to change
+# this value.
+UBOOT_INITIAL_ENV ?= "${PN}-initial-env"
+
 # U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf
 # to find EXTLINUX conf file.
 UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
@@ -137,8 +141,10 @@ do_compile () {
                     done
 
                     # Generate the uboot-initial-env
-                    oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env
-                    cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type}
+                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
+                        oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env
+                        cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type}
+                    fi
 
                     unset k
                 fi
@@ -150,7 +156,9 @@ do_compile () {
         oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
 
         # Generate the uboot-initial-env
-        oe_runmake -C ${S} O=${B} u-boot-initial-env
+        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
+            oe_runmake -C ${S} O=${B} u-boot-initial-env
+        fi
     fi
 }
 
@@ -168,10 +176,12 @@ do_install () {
                     ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
 
                     # Install the uboot-initial-env
-                    install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
-                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${type}
-                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${type}
-                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env
+                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
+                        install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
+                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
+                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type}
+                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
+                    fi
                 fi
             done
             unset j
@@ -182,9 +192,11 @@ do_install () {
         ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
 
         # Install the uboot-initial-env
-        install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${PV}-${PR}
-        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}
-        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env
+        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
+            install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
+            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}
+            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
+        fi
     fi
 
     if [ -n "${UBOOT_ELF}" ]
@@ -255,8 +267,9 @@ do_install () {
 PACKAGE_BEFORE_PN += "${PN}-env"
 
 RPROVIDES_${PN}-env += "u-boot-default-env"
+ALLOW_EMPTY_${PN}-env = "1"
 FILES_${PN}-env = " \
-    ${sysconfdir}/${PN}-initial-env* \
+    ${sysconfdir}/${UBOOT_INITIAL_ENV}* \
     ${sysconfdir}/fw_env.config \
 "
 
@@ -280,10 +293,12 @@ do_deploy () {
                     ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
 
                     # Deploy the uboot-initial-env
-                    install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
-                    cd ${DEPLOYDIR}
-                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${PN}-initial-env-${MACHINE}-${type}
-                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${PN}-initial-env-${type}
+                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
+                        install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
+                        cd ${DEPLOYDIR}
+                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
+                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${type}
+                    fi
                 fi
             done
             unset j
@@ -298,10 +313,12 @@ do_deploy () {
         ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
 
         # Deploy the uboot-initial-env
-        install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR}
-        cd ${DEPLOYDIR}
-        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${PN}-initial-env-${MACHINE}
-        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${PN}-initial-env
+        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
+            install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
+            cd ${DEPLOYDIR}
+            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}
+            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}
+        fi
     fi
 
     if [ -e ${WORKDIR}/fw_env.config ] ; then
-- 
2.26.2


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

* Re: [OE-core] [PATCH V3 1/3] u-boot: support merging .cfg files for UBOOT_CONFIG
  2020-05-28 12:41 ` [OE-core] [PATCH V3 1/3] u-boot: support merging .cfg files for UBOOT_CONFIG Ming Liu
@ 2020-05-29 20:09   ` Denys Dmytriyenko
  0 siblings, 0 replies; 7+ messages in thread
From: Denys Dmytriyenko @ 2020-05-29 20:09 UTC (permalink / raw)
  To: Ming Liu
  Cc: openembedded-core, stefan.agner, max.krummenacher, denys, Ming Liu

Is this change really required for UBOOT_INITIAL_ENV? I think you are merging 
several patch series together?


On Thu, May 28, 2020 at 02:41:27PM +0200, Ming Liu wrote:
> From: Ming Liu <ming.liu@toradex.com>
> 
> U-boot recipe supports .cfg files in SRC_URI, but they would be merged
> to .config during do_configure only when UBOOT_MACHINE is set, we
> should also support merging .cfg files for UBOOT_CONFIG.
> 
> Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
> Signed-off-by: Ming Liu <ming.liu@toradex.com>
> ---
>  meta/recipes-bsp/u-boot/u-boot.inc | 21 +++++++++++++++++----
>  1 file changed, 17 insertions(+), 4 deletions(-)
> 
> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
> index 80f828df52..8cfd25020c 100644
> --- a/meta/recipes-bsp/u-boot/u-boot.inc
> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> @@ -77,7 +77,23 @@ def find_cfgs(d):
>      return sources_list
>  
>  do_configure () {
> -    if [ -z "${UBOOT_CONFIG}" ]; then
> +    if [ -n "${UBOOT_CONFIG}" ]; then
> +        unset i j
> +        for config in ${UBOOT_MACHINE}; do
> +            i=$(expr $i + 1);
> +            for type in ${UBOOT_CONFIG}; do
> +                j=$(expr $j + 1);
> +                if [ $j -eq $i ]; then
> +                    oe_runmake -C ${S} O=${B}/${config} ${config}
> +                    merge_config.sh -m -O ${B}/${config} ${B}/${config}/.config ${@" ".join(find_cfgs(d))}
> +                    oe_runmake -C ${S} O=${B}/${config} oldconfig
> +                fi
> +            done
> +            unset j
> +        done
> +        unset i
> +        DEVTOOL_DISABLE_MENUCONFIG=true
> +    else
>          if [ -n "${UBOOT_MACHINE}" ]; then
>              oe_runmake -C ${S} O=${B} ${UBOOT_MACHINE}
>          else
> @@ -85,8 +101,6 @@ do_configure () {
>          fi
>          merge_config.sh -m .config ${@" ".join(find_cfgs(d))}
>          cml1_do_configure
> -    else
> -        DEVTOOL_DISABLE_MENUCONFIG=true
>      fi
>  }
>  
> @@ -114,7 +128,6 @@ do_compile () {
>                  j=$(expr $j + 1);
>                  if [ $j -eq $i ]
>                  then
> -                    oe_runmake -C ${S} O=${B}/${config} ${config}
>                      oe_runmake -C ${S} O=${B}/${config} ${UBOOT_MAKE_TARGET}
>                      for binary in ${UBOOT_BINARIES}; do
>                          k=$(expr $k + 1);
> -- 
> 2.26.2
> 

> 


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

* Re: [OE-core] [PATCH V3 3/3] u-boot: introduce UBOOT_INITIAL_ENV
  2020-05-28 12:41 ` [OE-core] [PATCH V3 3/3] u-boot: introduce UBOOT_INITIAL_ENV Ming Liu
@ 2020-05-29 20:11   ` Denys Dmytriyenko
  2020-06-01  6:48     ` Ming Liu
  0 siblings, 1 reply; 7+ messages in thread
From: Denys Dmytriyenko @ 2020-05-29 20:11 UTC (permalink / raw)
  To: Ming Liu
  Cc: openembedded-core, stefan.agner, max.krummenacher, denys, Ming Liu

On Thu, May 28, 2020 at 02:41:29PM +0200, Ming Liu wrote:
> From: Ming Liu <ming.liu@toradex.com>
> 
> It defaults to ${PN}-initial-env, no functional changes with current
> implementation, but this allows it to be changed in individual u-boot
> recipes.
> 
> If UBOOT_INITIAL_ENV is empty, then no initial env would be compiled/
> installed/deployed, set ALLOW_EMPTY_${PN}-env = "1".
> 
> The major purpose for introducing this, is that the users might have
> some scripts on targets like:
> ```
> /sbin/fw_setenv -f /etc/u-boot-initial-env
> ```
> 
> and it should be able to run against a identical path generated by
> different u-boot recipes.
> 
> Signed-off-by: Ming Liu <ming.liu@toradex.com>
> ---
>  meta/recipes-bsp/u-boot/u-boot.inc | 55 +++++++++++++++++++-----------
>  1 file changed, 36 insertions(+), 19 deletions(-)
> 
> diff --git a/meta/recipes-bsp/u-boot/u-boot.inc b/meta/recipes-bsp/u-boot/u-boot.inc
> index be15e1760f..8e60615e5c 100644
> --- a/meta/recipes-bsp/u-boot/u-boot.inc
> +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> @@ -60,6 +60,10 @@ UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
>  UBOOT_ENV_IMAGE ?= "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
>  UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
>  
> +# Default name of u-boot initial env, but enable individual recipes to change
> +# this value.
> +UBOOT_INITIAL_ENV ?= "${PN}-initial-env"
> +
>  # U-Boot EXTLINUX variables. U-Boot searches for /boot/extlinux/extlinux.conf
>  # to find EXTLINUX conf file.
>  UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
> @@ -137,8 +141,10 @@ do_compile () {
>                      done
>  
>                      # Generate the uboot-initial-env
> -                    oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env
> -                    cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type}
> +                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> +                        oe_runmake -C ${S} O=${B}/${config} u-boot-initial-env
> +                        cp ${B}/${config}/u-boot-initial-env ${B}/${config}/u-boot-initial-env-${type}
> +                    fi
>  
>                      unset k
>                  fi
> @@ -150,7 +156,9 @@ do_compile () {
>          oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
>  
>          # Generate the uboot-initial-env
> -        oe_runmake -C ${S} O=${B} u-boot-initial-env
> +        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> +            oe_runmake -C ${S} O=${B} u-boot-initial-env
> +        fi
>      fi
>  }
>  
> @@ -168,10 +176,12 @@ do_install () {
>                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${D}/boot/${UBOOT_BINARY}
>  
>                      # Install the uboot-initial-env
> -                    install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
> -                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${type}
> -                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${type}
> -                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env
> +                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> +                        install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> +                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
> +                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type}
> +                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
> +                    fi
>                  fi
>              done
>              unset j
> @@ -182,9 +192,11 @@ do_install () {
>          ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
>  
>          # Install the uboot-initial-env
> -        install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${PV}-${PR}
> -        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}
> -        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${PN}-initial-env
> +        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> +            install -D -m 644 ${B}/u-boot-initial-env ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
> +            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}
> +            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
> +        fi
>      fi
>  
>      if [ -n "${UBOOT_ELF}" ]
> @@ -255,8 +267,9 @@ do_install () {
>  PACKAGE_BEFORE_PN += "${PN}-env"
>  
>  RPROVIDES_${PN}-env += "u-boot-default-env"
> +ALLOW_EMPTY_${PN}-env = "1"

I don't think this ^ is required, as there are other files in ${PN}-env, e.g. 
fw_env.config:

>  FILES_${PN}-env = " \
> -    ${sysconfdir}/${PN}-initial-env* \
> +    ${sysconfdir}/${UBOOT_INITIAL_ENV}* \
>      ${sysconfdir}/fw_env.config \
>  "

So, what happens whe UBOOT_INITIAL_ENV is empty? You get ${sysconfdir}/* in 
there. Mayve you need a better check here?


> @@ -280,10 +293,12 @@ do_deploy () {
>                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX} ${UBOOT_BINARY}
>  
>                      # Deploy the uboot-initial-env
> -                    install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
> -                    cd ${DEPLOYDIR}
> -                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${PN}-initial-env-${MACHINE}-${type}
> -                    ln -sf ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${PN}-initial-env-${type}
> +                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> +                        install -D -m 644 ${B}/${config}/u-boot-initial-env-${type} ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> +                        cd ${DEPLOYDIR}
> +                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
> +                        ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${type}
> +                    fi
>                  fi
>              done
>              unset j
> @@ -298,10 +313,12 @@ do_deploy () {
>          ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
>  
>          # Deploy the uboot-initial-env
> -        install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR}
> -        cd ${DEPLOYDIR}
> -        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${PN}-initial-env-${MACHINE}
> -        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR} ${PN}-initial-env
> +        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> +            install -D -m 644 ${B}/u-boot-initial-env ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
> +            cd ${DEPLOYDIR}
> +            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}-${MACHINE}
> +            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR} ${UBOOT_INITIAL_ENV}
> +        fi
>      fi
>  
>      if [ -e ${WORKDIR}/fw_env.config ] ; then
> -- 
> 2.26.2
> 

> 


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

* Re: [OE-core] [PATCH V3 3/3] u-boot: introduce UBOOT_INITIAL_ENV
  2020-05-29 20:11   ` Denys Dmytriyenko
@ 2020-06-01  6:48     ` Ming Liu
  0 siblings, 0 replies; 7+ messages in thread
From: Ming Liu @ 2020-06-01  6:48 UTC (permalink / raw)
  To: Denys Dmytriyenko
  Cc: OE-core, Stefan Agner, Max Krummenacher, denys, Ming Liu

[-- Attachment #1: Type: text/plain, Size: 8406 bytes --]

Hi, Denys:

To install fw_env.config or not is also optional, attempt to say that
"ALLOW_EMPTY_${PN}-dev = "1"" is needed.

Will send a V4 according to your other comments.

//Ming Liu

Denys Dmytriyenko <denis@denix.org> 於 2020年5月29日 週五 下午10:11寫道:

> On Thu, May 28, 2020 at 02:41:29PM +0200, Ming Liu wrote:
> > From: Ming Liu <ming.liu@toradex.com>
> >
> > It defaults to ${PN}-initial-env, no functional changes with current
> > implementation, but this allows it to be changed in individual u-boot
> > recipes.
> >
> > If UBOOT_INITIAL_ENV is empty, then no initial env would be compiled/
> > installed/deployed, set ALLOW_EMPTY_${PN}-env = "1".
> >
> > The major purpose for introducing this, is that the users might have
> > some scripts on targets like:
> > ```
> > /sbin/fw_setenv -f /etc/u-boot-initial-env
> > ```
> >
> > and it should be able to run against a identical path generated by
> > different u-boot recipes.
> >
> > Signed-off-by: Ming Liu <ming.liu@toradex.com>
> > ---
> >  meta/recipes-bsp/u-boot/u-boot.inc | 55 +++++++++++++++++++-----------
> >  1 file changed, 36 insertions(+), 19 deletions(-)
> >
> > diff --git a/meta/recipes-bsp/u-boot/u-boot.inc
> b/meta/recipes-bsp/u-boot/u-boot.inc
> > index be15e1760f..8e60615e5c 100644
> > --- a/meta/recipes-bsp/u-boot/u-boot.inc
> > +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> > @@ -60,6 +60,10 @@ UBOOT_ENV_BINARY ?= "${UBOOT_ENV}.${UBOOT_ENV_SUFFIX}"
> >  UBOOT_ENV_IMAGE ?=
> "${UBOOT_ENV}-${MACHINE}-${PV}-${PR}.${UBOOT_ENV_SUFFIX}"
> >  UBOOT_ENV_SYMLINK ?= "${UBOOT_ENV}-${MACHINE}.${UBOOT_ENV_SUFFIX}"
> >
> > +# Default name of u-boot initial env, but enable individual recipes to
> change
> > +# this value.
> > +UBOOT_INITIAL_ENV ?= "${PN}-initial-env"
> > +
> >  # U-Boot EXTLINUX variables. U-Boot searches for
> /boot/extlinux/extlinux.conf
> >  # to find EXTLINUX conf file.
> >  UBOOT_EXTLINUX_INSTALL_DIR ?= "/boot/extlinux"
> > @@ -137,8 +141,10 @@ do_compile () {
> >                      done
> >
> >                      # Generate the uboot-initial-env
> > -                    oe_runmake -C ${S} O=${B}/${config}
> u-boot-initial-env
> > -                    cp ${B}/${config}/u-boot-initial-env
> ${B}/${config}/u-boot-initial-env-${type}
> > +                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> > +                        oe_runmake -C ${S} O=${B}/${config}
> u-boot-initial-env
> > +                        cp ${B}/${config}/u-boot-initial-env
> ${B}/${config}/u-boot-initial-env-${type}
> > +                    fi
> >
> >                      unset k
> >                  fi
> > @@ -150,7 +156,9 @@ do_compile () {
> >          oe_runmake -C ${S} O=${B} ${UBOOT_MAKE_TARGET}
> >
> >          # Generate the uboot-initial-env
> > -        oe_runmake -C ${S} O=${B} u-boot-initial-env
> > +        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> > +            oe_runmake -C ${S} O=${B} u-boot-initial-env
> > +        fi
> >      fi
> >  }
> >
> > @@ -168,10 +176,12 @@ do_install () {
> >                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> ${D}/boot/${UBOOT_BINARY}
> >
> >                      # Install the uboot-initial-env
> > -                    install -D -m 644
> ${B}/${config}/u-boot-initial-env-${type}
> ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
> > -                    ln -sf
> ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
> ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${type}
> > -                    ln -sf
> ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
> ${D}/${sysconfdir}/${PN}-initial-env-${type}
> > -                    ln -sf
> ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
> ${D}/${sysconfdir}/${PN}-initial-env
> > +                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> > +                        install -D -m 644
> ${B}/${config}/u-boot-initial-env-${type}
> ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> > +                        ln -sf
> ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
> > +                        ln -sf
> ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${type}
> > +                        ln -sf
> ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
> > +                    fi
> >                  fi
> >              done
> >              unset j
> > @@ -182,9 +192,11 @@ do_install () {
> >          ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
> >
> >          # Install the uboot-initial-env
> > -        install -D -m 644 ${B}/u-boot-initial-env
> ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}-${PV}-${PR}
> > -        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR}
> ${D}/${sysconfdir}/${PN}-initial-env-${MACHINE}
> > -        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR}
> ${D}/${sysconfdir}/${PN}-initial-env
> > +        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> > +            install -D -m 644 ${B}/u-boot-initial-env
> ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
> > +            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
> ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}-${MACHINE}
> > +            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
> ${D}/${sysconfdir}/${UBOOT_INITIAL_ENV}
> > +        fi
> >      fi
> >
> >      if [ -n "${UBOOT_ELF}" ]
> > @@ -255,8 +267,9 @@ do_install () {
> >  PACKAGE_BEFORE_PN += "${PN}-env"
> >
> >  RPROVIDES_${PN}-env += "u-boot-default-env"
> > +ALLOW_EMPTY_${PN}-env = "1"
>
> I don't think this ^ is required, as there are other files in ${PN}-env,
> e.g.
> fw_env.config:
>
> >  FILES_${PN}-env = " \
> > -    ${sysconfdir}/${PN}-initial-env* \
> > +    ${sysconfdir}/${UBOOT_INITIAL_ENV}* \
> >      ${sysconfdir}/fw_env.config \
> >  "
>
> So, what happens whe UBOOT_INITIAL_ENV is empty? You get ${sysconfdir}/*
> in
> there. Mayve you need a better check here?
>
>
> > @@ -280,10 +293,12 @@ do_deploy () {
> >                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> ${UBOOT_BINARY}
> >
> >                      # Deploy the uboot-initial-env
> > -                    install -D -m 644
> ${B}/${config}/u-boot-initial-env-${type}
> ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
> > -                    cd ${DEPLOYDIR}
> > -                    ln -sf
> ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR}
> ${PN}-initial-env-${MACHINE}-${type}
> > -                    ln -sf
> ${PN}-initial-env-${MACHINE}-${type}-${PV}-${PR} ${PN}-initial-env-${type}
> > +                    if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> > +                        install -D -m 644
> ${B}/${config}/u-boot-initial-env-${type}
> ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> > +                        cd ${DEPLOYDIR}
> > +                        ln -sf
> ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}
> > +                        ln -sf
> ${UBOOT_INITIAL_ENV}-${MACHINE}-${type}-${PV}-${PR}
> ${UBOOT_INITIAL_ENV}-${type}
> > +                    fi
> >                  fi
> >              done
> >              unset j
> > @@ -298,10 +313,12 @@ do_deploy () {
> >          ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
> >
> >          # Deploy the uboot-initial-env
> > -        install -D -m 644 ${B}/u-boot-initial-env
> ${DEPLOYDIR}/${PN}-initial-env-${MACHINE}-${PV}-${PR}
> > -        cd ${DEPLOYDIR}
> > -        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR}
> ${PN}-initial-env-${MACHINE}
> > -        ln -sf ${PN}-initial-env-${MACHINE}-${PV}-${PR}
> ${PN}-initial-env
> > +        if [ -n "${UBOOT_INITIAL_ENV}" ]; then
> > +            install -D -m 644 ${B}/u-boot-initial-env
> ${DEPLOYDIR}/${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
> > +            cd ${DEPLOYDIR}
> > +            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
> ${UBOOT_INITIAL_ENV}-${MACHINE}
> > +            ln -sf ${UBOOT_INITIAL_ENV}-${MACHINE}-${PV}-${PR}
> ${UBOOT_INITIAL_ENV}
> > +        fi
> >      fi
> >
> >      if [ -e ${WORKDIR}/fw_env.config ] ; then
> > --
> > 2.26.2
> >
>
> > 
>
>

[-- Attachment #2: Type: text/html, Size: 10279 bytes --]

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

end of thread, other threads:[~2020-06-01  6:48 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-28 12:41 [OE-core] [PATCH V3 0/3] Introduce UBOOT_INITIAL_ENV/cfg files fixes/coding style fixes Ming Liu
2020-05-28 12:41 ` [OE-core] [PATCH V3 1/3] u-boot: support merging .cfg files for UBOOT_CONFIG Ming Liu
2020-05-29 20:09   ` Denys Dmytriyenko
2020-05-28 12:41 ` [OE-core] [PATCH V3 2/3] u-boot.inc: fix some inconsistent coding style Ming Liu
2020-05-28 12:41 ` [OE-core] [PATCH V3 3/3] u-boot: introduce UBOOT_INITIAL_ENV Ming Liu
2020-05-29 20:11   ` Denys Dmytriyenko
2020-06-01  6:48     ` Ming Liu

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.