* [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.