No u-boot-fslc-fw-utils recipe for Dunfell?


Brian Hutchinson
 

Hi,

Was needing fw_printenv/fw_setenv in Dunfell and don't see the fw-utils package anywhere.  I see one in Sumo release.

Am I missing something?

Regards,

Brian



Otavio Salvador
 

Hello,

Em qua., 27 de jan. de 2021 às 16:37, Brian Hutchinson
<b.hutchman@...> escreveu:
Was needing fw_printenv/fw_setenv in Dunfell and don't see the fw-utils package anywhere. I see one in Sumo release.

Am I missing something?
The libubootenv is now the one which provide those tools.

--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750


Chris Dimich
 


On Wed, Jan 27, 2021 at 11:37 AM Brian Hutchinson <b.hutchman@...> wrote:
Hi,

Was needing fw_printenv/fw_setenv in Dunfell and don't see the fw-utils package anywhere.  I see one in Sumo release.

Am I missing something?

Regards,

Brian






Brian Hutchinson
 


On Wed, Jan 27, 2021 at 2:42 PM Otavio Salvador <otavio.salvador@...> wrote:
Hello,

Em qua., 27 de jan. de 2021 às 16:37, Brian Hutchinson
<b.hutchman@...> escreveu:
> Was needing fw_printenv/fw_setenv in Dunfell and don't see the fw-utils package anywhere.  I see one in Sumo release.
>
> Am I missing something?

The libubootenv is now the one which provide those tools.

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854          Mobile: +1 (347) 903-9750


Ahhh, I guess I was missing something!!!  Thanks for "updating" me!

Regards,

Brian


Brian Hutchinson
 

On Wed, Jan 27, 2021 at 2:57 PM Brian Hutchinson <b.hutchman@...> wrote:

On Wed, Jan 27, 2021 at 2:42 PM Otavio Salvador <otavio.salvador@...> wrote:
Hello,

Em qua., 27 de jan. de 2021 às 16:37, Brian Hutchinson
<b.hutchman@...> escreveu:
> Was needing fw_printenv/fw_setenv in Dunfell and don't see the fw-utils package anywhere.  I see one in Sumo release.
>
> Am I missing something?

The libubootenv is now the one which provide those tools.

--
Otavio Salvador                             O.S. Systems
http://www.ossystems.com.br        http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854          Mobile: +1 (347) 903-9750


Ahhh, I guess I was missing something!!!  Thanks for "updating" me!

Regards,

Brian


Ok I think I just realized something screwed up with my build.  Several months ago I switched from using NXP releases to meta-freescale community BSP for imx8mm.  I'm using Poky distro for now while I use imx8mm-evk distro as a base for what I want to do.

I searched my current checkout for libubootenv and only got hits in:
./poky/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb
./openembedded-core/meta/recipes-bsp/u-boot/libubootenv_0.3.1.bb
... nothing in meta-freescale.

That got me wondering which u-boot I'm really using.  When my board boots and I pay attention to u-boot it says I'm running U-Boot2020.04-imx_v2020.04_5.4.24_2.1.0+g4979a99482

So shouldn't there be a libubootenv.bb in meta-freescale/recipes-bsp/u-boot?  Looks like I'm still missing something ;)

Regards,

Brian


Otavio Salvador
 

Em qua., 27 de jan. de 2021 às 17:11, Brian Hutchinson
<b.hutchman@...> escreveu:
On Wed, Jan 27, 2021 at 2:57 PM Brian Hutchinson <b.hutchman@...> wrote:
So shouldn't there be a libubootenv.bb in meta-freescale/recipes-bsp/u-boot? Looks like I'm still missing something ;)
No. The tools are generic and now we package the default environment
for use with them.

--
Otavio Salvador O.S. Systems
http://www.ossystems.com.br http://code.ossystems.com.br
Mobile: +55 (53) 9 9981-7854 Mobile: +1 (347) 903-9750


Brian Hutchinson
 


On Wed, Jan 27, 2021 at 3:13 PM Otavio Salvador <otavio.salvador@...> wrote:
Em qua., 27 de jan. de 2021 às 17:11, Brian Hutchinson
<b.hutchman@...> escreveu:
> On Wed, Jan 27, 2021 at 2:57 PM Brian Hutchinson <b.hutchman@...> wrote:
> So shouldn't there be a libubootenv.bb in meta-freescale/recipes-bsp/u-boot?  Looks like I'm still missing something ;)

No. The tools are generic and now we package the default environment
for use with them.


Thanks!  Added  libubootenv to my core-image-base image and now get:

root@imx8mmevk:~# fw_printenv
Configuration file wrong or corrupted


... so getting closer.  I'm booting off sdcard so need to find the config for that and figure out what's wrong with it.  Then change it for eMMC later as that's my ultimate goal.

Regards,

Brian


Brian Hutchinson
 

On Wed, Jan 27, 2021 at 5:25 PM Brian Hutchinson via lists.yoctoproject.org <b.hutchman=gmail.com@...> wrote:

On Wed, Jan 27, 2021 at 3:13 PM Otavio Salvador <otavio.salvador@...> wrote:
Em qua., 27 de jan. de 2021 às 17:11, Brian Hutchinson
<b.hutchman@...> escreveu:
> On Wed, Jan 27, 2021 at 2:57 PM Brian Hutchinson <b.hutchman@...> wrote:
> So shouldn't there be a libubootenv.bb in meta-freescale/recipes-bsp/u-boot?  Looks like I'm still missing something ;)

No. The tools are generic and now we package the default environment
for use with them.


Thanks!  Added  libubootenv to my core-image-base image and now get:

root@imx8mmevk:~# fw_printenv
Configuration file wrong or corrupted


... so getting closer.  I'm booting off sdcard so need to find the config for that and figure out what's wrong with it.  Then change it for eMMC later as that's my ultimate goal.

Regards,

Brian

 
Ok, stumped now.  I created a /etc/fw_env.config file with:
/dev/mmcblk1            0x400000        0x1000

Also tried:
/dev/mmcblk1 0x0 0x1000

... mmcblk1 is the sdcard I'm booting.

Now I'm getting:

root@imx8mmevk:/etc# fw_printenv  
Cannot read environment, using default
Cannot read default environment from file

This is first time I'm using sdcards or eMMC to store u-boot env, always did it in NOR before so I'm kinda lost at the moment.

Anyone know where the u-boot env is on sdcard (or eMMC)?

Regards,

Brian



Brian Hutchinson
 


On Wed, Jan 27, 2021 at 11:41 PM Brian Hutchinson via lists.yoctoproject.org <b.hutchman=gmail.com@...> wrote:
 
Ok, stumped now.  I created a /etc/fw_env.config file with:
/dev/mmcblk1            0x400000        0x1000

Also tried:
/dev/mmcblk1 0x0 0x1000

... mmcblk1 is the sdcard I'm booting.

Now I'm getting:

root@imx8mmevk:/etc# fw_printenv  
Cannot read environment, using default
Cannot read default environment from file

This is first time I'm using sdcards or eMMC to store u-boot env, always did it in NOR before so I'm kinda lost at the moment.

Anyone know where the u-boot env is on sdcard (or eMMC)?


 
Update ... feeling like I'm losing my mind now.

fw_env.config must be sensitive to spaces or tabs or something.

I messed around with it some more and it magically started working with my imx8mm-evk board with fw_env.config containing:

/dev/mmcblk1  0x400000    0x1000

I don't know why that didn't work before ... I tried all kinds of things to get this to work and really can't explain why it just started working.  To test, I used fw_setenv to set a variable and rebooted and stopped in u-boot and did printenv and sure enough the variable I set is there.

Regards,

Brian


Brian Hutchinson
 


Update ... feeling like I'm losing my mind now.

fw_env.config must be sensitive to spaces or tabs or something.

I messed around with it some more and it magically started working with my imx8mm-evk board with fw_env.config containing:

/dev/mmcblk1  0x400000    0x1000

I don't know why that didn't work before ... I tried all kinds of things to get this to work and really can't explain why it just started working.  To test, I used fw_setenv to set a variable and rebooted and stopped in u-boot and did printenv and sure enough the variable I set is there.

Regards,

Brian

So I think I figured out what was going on.  I flashed sdcard with fresh Yocto build.  Apparently the default u-boot environment is in ram and not in the eMMC until you stop in u-boot and do a saveenv ... then when you boot into Linux fw_printenv works.  Prior to doing that, fw_printenv will return the error I previously mentioned.

Hopefully this will help the next person thinking they are losing their mind messing with creating a fw_env.config file.

Regards,

Brian




Brian Hutchinson
 


On Thu, Jan 28, 2021 at 9:28 PM Brian Hutchinson via lists.yoctoproject.org <b.hutchman=gmail.com@...> wrote:

Update ... feeling like I'm losing my mind now.

fw_env.config must be sensitive to spaces or tabs or something.

I messed around with it some more and it magically started working with my imx8mm-evk board with fw_env.config containing:

/dev/mmcblk1  0x400000    0x1000

I don't know why that didn't work before ... I tried all kinds of things to get this to work and really can't explain why it just started working.  To test, I used fw_setenv to set a variable and rebooted and stopped in u-boot and did printenv and sure enough the variable I set is there.

Regards,

Brian

So I think I figured out what was going on.  I flashed sdcard with fresh Yocto build.  Apparently the default u-boot environment is in ram and not in the eMMC until you stop in u-boot and do a saveenv ... then when you boot into Linux fw_printenv works.  Prior to doing that, fw_printenv will return the error I previously mentioned.

Hopefully this will help the next person thinking they are losing their mind messing with creating a fw_env.config file.

Regards,

Brian


Reviving this issue again ... I noticed that I had to make my own fw_env.config file and copy it to etc. in a read/write rootfs for quick testing ... there is no fw_env.config sample provided by libubootenv that is placed in rootfs under /etc.  I'm now generating a squashfs can can't do that hack so need to do it in recipe and looking at the recipes ... not 100% sure how to go about it.  

But shouldn't libubootenv put a example fw_env.config in /etc?  I mean it won't work like it's supposed to without one.

Regards,

Brian


Peter Bergin
 

Hi Brian,



Reviving this issue again ... I noticed that I had to make my own fw_env.config file and copy it to etc. in a read/write rootfs for quick testing ... there is no fw_env.config sample provided by libubootenv that is placed in rootfs under /etc.  I'm now generating a squashfs can can't do that hack so need to do it in recipe and looking at the recipes ... not 100% sure how to go about it.  

But shouldn't libubootenv put a example fw_env.config in /etc?  I mean it won't work like it's supposed to without one.

Regards,

Brian

it is quite useless for libubootenv (in oe-core) to put a general example in /etc as it is highly dependent of the target system and where u-boot environment is located. But in the BSP-layer(s) it could be good to have example files. There are in the meta-freescale-3rdparty for some boards already:

    meta-freescale-3rdparty$ find . -name fw_env.config
    ./recipes-bsp/u-boot/u-boot-boundary/arm/fw_env.config
    ./recipes-bsp/u-boot/u-boot-boundary/aarch64/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx7-emmc/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx6ull/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/mx6/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx7/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/vf/fw_env.config
    ./recipes-bsp/u-boot/u-boot-kontron/fw_env.config

In u-boot there are around 10 options where to store the environment (EEPROM, ext4, FAT, flash memory, MMC......) and for some options eMMC for example there are several other options such as boot partition and address. This is a proof that it is best practice to create your own fw_env.config that fits your system and matches the u-boot configuration.

Still no fw_env.config in meta-freescale for the boards defined there. I don't know why. Probably it could be feasible with some defaults there. As there are default configs for u-boot I guess a fw_env.config could be shipped matching that. But on the other hand there are no example images in poky or meta-freescale* that includes libubootenv so that can be a reason.

Best regards,
/Peter


Brian Hutchinson
 



On Tue, Mar 9, 2021 at 4:29 PM Peter Bergin <peter@...> wrote:

Hi Brian,



Reviving this issue again ... I noticed that I had to make my own fw_env.config file and copy it to etc. in a read/write rootfs for quick testing ... there is no fw_env.config sample provided by libubootenv that is placed in rootfs under /etc.  I'm now generating a squashfs can can't do that hack so need to do it in recipe and looking at the recipes ... not 100% sure how to go about it.  

But shouldn't libubootenv put a example fw_env.config in /etc?  I mean it won't work like it's supposed to without one.

Regards,

Brian

it is quite useless for libubootenv (in oe-core) to put a general example in /etc as it is highly dependent of the target system and where u-boot environment is located. But in the BSP-layer(s) it could be good to have example files. There are in the meta-freescale-3rdparty for some boards already:

    meta-freescale-3rdparty$ find . -name fw_env.config
    ./recipes-bsp/u-boot/u-boot-boundary/arm/fw_env.config
    ./recipes-bsp/u-boot/u-boot-boundary/aarch64/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx7-emmc/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx6ull/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/mx6/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx7/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/vf/fw_env.config
    ./recipes-bsp/u-boot/u-boot-kontron/fw_env.config

In u-boot there are around 10 options where to store the environment (EEPROM, ext4, FAT, flash memory, MMC......) and for some options eMMC for example there are several other options such as boot partition and address. This is a proof that it is best practice to create your own fw_env.config that fits your system and matches the u-boot configuration.

Still no fw_env.config in meta-freescale for the boards defined there. I don't know why. Probably it could be feasible with some defaults there. As there are default configs for u-boot I guess a fw_env.config could be shipped matching that. But on the other hand there are no example images in poky or meta-freescale* that includes libubootenv so that can be a reason.

Best regards,
/Peter


I'm about to scream.  I can't figure out what I'm doing wrong.

I made a libubootenv_%.bbappend with:
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:"

SRC_URI_append += " file://fw_env.config"

do_install_append() {
       install -d ${D}${sysconfdir}
       install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
}

FILES_${PN} += "${sysconfdir}/fw_env.config"

... and fw_env.conf is going to tmp/deploy/images/imx8mmevk instead of inside my squashfs.wic file.

Regards,

Brian


Brian Hutchinson
 



On Tue, Mar 9, 2021 at 4:35 PM Brian Hutchinson via lists.yoctoproject.org <b.hutchman=gmail.com@...> wrote:


On Tue, Mar 9, 2021 at 4:29 PM Peter Bergin <peter@...> wrote:

Hi Brian,



Reviving this issue again ... I noticed that I had to make my own fw_env.config file and copy it to etc. in a read/write rootfs for quick testing ... there is no fw_env.config sample provided by libubootenv that is placed in rootfs under /etc.  I'm now generating a squashfs can can't do that hack so need to do it in recipe and looking at the recipes ... not 100% sure how to go about it.  

But shouldn't libubootenv put a example fw_env.config in /etc?  I mean it won't work like it's supposed to without one.

Regards,

Brian

it is quite useless for libubootenv (in oe-core) to put a general example in /etc as it is highly dependent of the target system and where u-boot environment is located. But in the BSP-layer(s) it could be good to have example files. There are in the meta-freescale-3rdparty for some boards already:

    meta-freescale-3rdparty$ find . -name fw_env.config
    ./recipes-bsp/u-boot/u-boot-boundary/arm/fw_env.config
    ./recipes-bsp/u-boot/u-boot-boundary/aarch64/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx7-emmc/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx6ull/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/mx6/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/colibri-imx7/fw_env.config
    ./recipes-bsp/u-boot/u-boot-toradex/vf/fw_env.config
    ./recipes-bsp/u-boot/u-boot-kontron/fw_env.config

In u-boot there are around 10 options where to store the environment (EEPROM, ext4, FAT, flash memory, MMC......) and for some options eMMC for example there are several other options such as boot partition and address. This is a proof that it is best practice to create your own fw_env.config that fits your system and matches the u-boot configuration.

Still no fw_env.config in meta-freescale for the boards defined there. I don't know why. Probably it could be feasible with some defaults there. As there are default configs for u-boot I guess a fw_env.config could be shipped matching that. But on the other hand there are no example images in poky or meta-freescale* that includes libubootenv so that can be a reason.

Best regards,
/Peter


I'm about to scream.  I can't figure out what I'm doing wrong.

I made a libubootenv_%.bbappend with:
FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}/:"

SRC_URI_append += " file://fw_env.config"

do_install_append() {
       install -d ${D}${sysconfdir}
       install -m 0644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/fw_env.config
}

FILES_${PN} += "${sysconfdir}/fw_env.config"

... and fw_env.conf is going to tmp/deploy/images/imx8mmevk instead of inside my squashfs.wic file.

Regards,

Brian


It actually looks like it's simpler than what I did for  libubootenv_%.bbappend in last email ... since I'm using poky distro and it looks like u-boot-imx.bb is including that (recipies-bsp/u-boot/u-boot.inc), simply adding " SRC_URI += " file://fw_env.config" " is all that's needed (with a fw_env.config file in files dir of course) in u-boot-imx_2020.04.bb ... but again, I do a bitbake core-image-minimal and go look at tmp/deploy/images/imx8mmevk and the time date stamp on my core-image-minimal-imx8mmevk-squashfs has not changed but it has on a fw_env.config file sitting right in the directory ... which is not where I want it!  It should be in the squashfs.

-rw-r--r-- 2 hutch hutch      1895 Mar  9 15:31 core-image-minimal-imx8mmevk-20210309203126.rootfs.manifest
-rw-r--r-- 2 hutch hutch   9613312 Mar  9 15:32 core-image-minimal-imx8mmevk-20210309203126.rootfs.squashfs
-rw-r--r-- 2 hutch hutch   9201440 Mar  9 15:32 core-image-minimal-imx8mmevk-20210309203126.rootfs.tar.bz2
-rw-r--r-- 2 hutch hutch    532719 Mar  9 15:31 core-image-minimal-imx8mmevk-20210309203126.testdata.json
lrwxrwxrwx 2 hutch hutch        59 Mar  9 15:31 core-image-minimal-imx8mmevk.manifest -> core-image-minimal-imx8mmevk-20210309203126.rootfs.manifest
lrwxrwxrwx 2 hutch hutch        59 Mar  9 15:32 core-image-minimal-imx8mmevk.squashfs -> core-image-minimal-imx8mmevk-20210309203126.rootfs.squashfs
-rw-r--r-- 1 hutch hutch   9605120 Mar  8 09:36 core-image-minimal-imx8mmevk.squashfs_keep
lrwxrwxrwx 2 hutch hutch        58 Mar  9 15:32 core-image-minimal-imx8mmevk.tar.bz2 -> core-image-minimal-imx8mmevk-20210309203126.rootfs.tar.bz2
lrwxrwxrwx 2 hutch hutch        57 Mar  9 15:31 core-image-minimal-imx8mmevk.testdata.json -> core-image-minimal-imx8mmevk-20210309203126.testdata.json
lrwxrwxrwx 2 hutch hutch        34 Mar  9 16:48 fw_env.config -> fw_env.config-imx8mmevk-2020.04-r0
lrwxrwxrwx 2 hutch hutch        34 Mar  9 16:48 fw_env.config-imx8mmevk -> fw_env.config-imx8mmevk-2020.04-r0
-rw-r--r-- 2 hutch hutch      2858 Mar  9 16:48 fw_env.config-imx8mmevk-2020.04-r0