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 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 > > --- > > 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: sbabic@denx.de > ===================================================================== > >