Hi,

it's very handy to have the environment file in the DEPLOY folder to for
example be able to integrate it to a WIC image.


BR

On Tue, Mar 31, 2020 at 5:32 PM Stefano Babic <[email protected]> wrote:

> Hi Otavio,
>
> On 31.03.20 17:16, Otavio Salvador wrote:
> > One significant change from previous OE-Core releases was the move from
> > u-boot-fw-utils to libubootenv which offers a generic and not machine
> > specific alternative. However, it is not fully functional as currently
> > we don't provide the default environment nor the required configuration
> > file to be used by it.
>
> Fully agree - it was on my TODO list, then forgotten. Thanks for fixing
> this !
>
> >
> > This change address this and include on the default u-boot.inc the
> > needed code to generate, install and deploy the default environment.
> >
> > The side effect of this change are:
> >
> > - new ${PN}-env
>
> Agree.
>
> > - u-boot-initial-env on deploy
> > - fw_env.config on deploy
>
> Why do we need both of them in deploy ? For making system functional, we
> just need that both files are in /etc, that is ${PN}-env must be
> installed (and then you set RRECOMMENDS). But why in deploy ? Am I
> missing something ?
>
> >
> > Signed-off-by: Otavio Salvador <[email protected]>
> > ---
> > This change is late in the cycle but it is critical in my opinion.
> >
> > The lack of default environment as well as the configuration for the
> > tool is a regression from the previous release and this mitigates it.
> >
> > Changes in v2:
> > - Fix wrong path on do_install
> > - Change virtual/bootloader-env to u-boot-default-env (RP)
> > - Add Tom Rini and Stefano Babic to Cc
> >
> >  meta/recipes-bsp/u-boot/libubootenv_0.2.bb |  1 +
> >  meta/recipes-bsp/u-boot/u-boot.inc         | 54 ++++++++++++++++++----
> >  2 files changed, 46 insertions(+), 9 deletions(-)
> >
> > diff --git a/meta/recipes-bsp/u-boot/libubootenv_0.2.bb
> b/meta/recipes-bsp/u-boot/libubootenv_0.2.bb
> > index 7a7ec4c8856..144c5c941df 100644
> > --- a/meta/recipes-bsp/u-boot/libubootenv_0.2.bb
> > +++ b/meta/recipes-bsp/u-boot/libubootenv_0.2.bb
> > @@ -23,5 +23,6 @@ EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release"
> >
> >  PROVIDES += "u-boot-fw-utils"
> >  RPROVIDES_${PN}-bin += "u-boot-fw-utils"
> > +RRECOMMENDS_${PN}-bin += "u-boot-default-env"
> >
> >  BBCLASSEXTEND = "native"
> > diff --git a/meta/recipes-bsp/u-boot/u-boot.inc
> b/meta/recipes-bsp/u-boot/u-boot.inc
> > index 648298da0bf..b13db224732 100644
> > --- a/meta/recipes-bsp/u-boot/u-boot.inc
> > +++ b/meta/recipes-bsp/u-boot/u-boot.inc
> > @@ -122,6 +122,11 @@ do_compile () {
> >                              cp ${B}/${config}/${binary}
> ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
> >                          fi
> >                      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}
> > +
> >                      unset k
> >                  fi
> >              done
> > @@ -130,6 +135,9 @@ do_compile () {
> >          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
> >
> >  }
> > @@ -143,19 +151,26 @@ do_install () {
> >                  j=$(expr $j + 1);
> >                  if [ $j -eq $i ]
> >                  then
> > -                    install -d ${D}/boot
> > -                    install -m 644
> ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
> ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> > +                    install -D -m 644
> ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
> ${D}/boot/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> >                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> ${D}/boot/${UBOOT_BINARY}-${type}
> >                      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}/u-boot-initial-env-${type}-${PV}-${PR}
> > +                    ln -sf u-boot-initial-env-${type}-${PV}-${PR}
> ${D}/${sysconfdir}/u-boot-initial-env-${type}
> > +                    ln -sf u-boot-initial-env-${type}-${PV}-${PR}
> ${D}/${sysconfdir}/u-boot-initial-env
> >                  fi
> >              done
> >              unset  j
> >          done
> >          unset  i
> >      else
> > -        install -d ${D}/boot
> > -        install -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
> > +        install -D -m 644 ${B}/${UBOOT_BINARY} ${D}/boot/${UBOOT_IMAGE}
> >          ln -sf ${UBOOT_IMAGE} ${D}/boot/${UBOOT_BINARY}
> > +
> > +        # Install the uboot-initial-env
> > +        install -D -m 644 ${B}/u-boot-initial-env
> ${D}/${sysconfdir}/u-boot-initial-env-${PV}-${PR}
> > +        ln -sf u-boot-initial-env-${PV}-${PR}
> ${D}/${sysconfdir}/u-boot-initial-env
> >      fi
> >
> >      if [ -n "${UBOOT_ELF}" ]
> > @@ -224,7 +239,16 @@ do_install () {
> >
> >  }
> >
> > -FILES_${PN} = "/boot ${sysconfdir} ${datadir}"
> > +PACKAGE_BEFORE_PN += "${PN}-env"
> > +
> > +RPROVIDES_${PN}-env += "u-boot-default-env"
> > +FILES_${PN}-env = " \
> > +    ${sysconfdir}/u-boot-initial-env* \
> > +    ${sysconfdir}/fw_env.config \
> > +"
> > +
> > +FILES_${PN} = "/boot ${datadir}"
> > +RDEPENDS_${PN} += "${PN}-env"
> >
> >  do_deploy () {
> >      if [ -n "${UBOOT_CONFIG}" ]
> > @@ -235,25 +259,37 @@ do_deploy () {
> >                  j=$(expr $j + 1);
> >                  if [ $j -eq $i ]
> >                  then
> > -                    install -d ${DEPLOYDIR}
> > -                    install -m 644
> ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
> ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> > +                    install -D -m 644
> ${B}/${config}/u-boot-${type}.${UBOOT_SUFFIX}
> ${DEPLOYDIR}/u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> > +                    install -D -m 644
> ${B}/${config}/u-boot-initial-env-${type}
> ${DEPLOYDIR}/u-boot-initial-env-${type}-${PV}-${PR}
> > +
> >                      cd ${DEPLOYDIR}
> >                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> ${UBOOT_SYMLINK}-${type}
> >                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> ${UBOOT_SYMLINK}
> >                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> ${UBOOT_BINARY}-${type}
> >                      ln -sf u-boot-${type}-${PV}-${PR}.${UBOOT_SUFFIX}
> ${UBOOT_BINARY}
> > +
> > +                    ln -sf u-boot-initial-env-${type}-${PV}-${PR}
> u-boot-initial-env-${type}
> > +                    ln -sf u-boot-initial-env-${type}-${PV}-${PR}
> u-boot-initial-env
> >                  fi
> >              done
> >              unset  j
> >          done
> >          unset  i
> >      else
> > -        install -d ${DEPLOYDIR}
> > -        install -m 644 ${B}/${UBOOT_BINARY} ${DEPLOYDIR}/${UBOOT_IMAGE}
> > +        install -D -m 644 ${B}/${UBOOT_BINARY}
> ${DEPLOYDIR}/${UBOOT_IMAGE}
> > +        install -D -m 644 ${B}/u-boot-initial-env
> ${DEPLOYDIR}/u-boot-initial-env-${PV}-${PR}
> >          cd ${DEPLOYDIR}
> >          rm -f ${UBOOT_BINARY} ${UBOOT_SYMLINK}
> >          ln -sf ${UBOOT_IMAGE} ${UBOOT_SYMLINK}
> >          ln -sf ${UBOOT_IMAGE} ${UBOOT_BINARY}
> > +
> > +        ln -sf u-boot-initial-env-${PV}-${PR} u-boot-initial-env
> > +    fi
> > +
> > +    if [ -e ${WORKDIR}/fw_env.config ] ; then
> > +        install -D -m 644 ${WORKDIR}/fw_env.config
> ${DEPLOYDIR}/fw_env.config-${PV}-${PR}
> > +        cd ${DEPLOYDIR}
> > +        ln -sf fw_env.config-${PV}-${PR} fw_env.config
> >      fi
> >
> >      if [ -n "${UBOOT_ELF}" ]
> >
>
> Regards,
> Stefano
>
> --
> =====================================================================
> DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
> Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: [email protected]
> =====================================================================
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#136922): 
https://lists.openembedded.org/g/openembedded-core/message/136922
Mute This Topic: https://lists.openembedded.org/mt/72678748/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to