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 <de...@denix.org> 於 2020年5月29日 週五 下午10:11寫道:

> On Thu, May 28, 2020 at 02:41:29PM +0200, Ming Liu wrote:
> > From: Ming Liu <ming....@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....@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
> >
>
> > 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#139017): 
https://lists.openembedded.org/g/openembedded-core/message/139017
Mute This Topic: https://lists.openembedded.org/mt/74520509/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to