BeagleBone Black not loading overlays

Hello, I have recently used the mender-convert tool to create a Mender image from a raw disk image from my BBB. This BBB image is using Debian 9.11 stretch and loads several custom overlays using settings in the /boot/uEnv.txt file.

The new Mender sdimg that was output by mender-convert boots up fine and I am able to see my BBB as pending in the Mender cloud dashboard. This all works great. My problem is that it seems the new bootloader that is set up to handle loading the different rootfs partitions(?) is not loading the overlays, etc. that were defined in the /boot/uEnv.txt file of my original image. I need these loaded to run software that interacts with the HW.

Is this normal? Do I need to do something else to get the new Mender bootloader to load these overlays? Thanks in advance for any help with this.

Which version of mender-convert are you using?

Here is the result of ./docker-mender-convert --version:

Running mender-convert --version
mender-convert version: 56f4123

Thanks,

The mender-convert you are currently running is using a Mender integration which is based on U-Boot loading a GRUB EFI, which then further boot the Linux kernel. In this case the overlays are indeed ignored as the GRUB bootloader will load the “stock” dtb file. This is just how this particular integration works, and you would probably need to merge dtb files ahead of the running mender-convert to enable what your overlays did.

Though, we have a new release of mender-convert where it will work slightly different and in this case the BBB integration is utilizing a standalone U-Boot integration, meaning that overlays should work similarly to how they are applied in a “stock” image.

I would recommend you to test this out, you can find the new version of mender-convert here (master branch),

Hi all,

I’ve been working with @drewmoseley to make this work with Debian 10 on a BBB and the most recent version of mender-convert (as of this writing, July 2020). It appears that this is still an issue, and I was wondering if anyone has figured out how to do this.

What I’ve found is that the u-boot distributed with the stock Debian 10 image defines a command called uname_boot, which handles the uboot overlays that you configure in /boot/uEnv.txt. The mender uboot does not use that command, and therefore does not load the overlays.

If anyone has had success applying uboot overlays after running mender-convert on the Debian BBB image, please let me know how you made that work. As it is, I don’t think I can use overlays at all… I may need to extract a static device tree from a running image and force it to use that (I have not made this work yet).

Please let me know if anyone has a good workaround. Thanks!

If you are building your debian image, you can implement your device tree changes in a .dtsi instead of an overlay, and rebuild the image, then run the conversion.

SLR-

The u-boot mender is using does not load the overlays from uEnv.txt. I patched mender’s u-boot version with Debian-specific modifications to make it happen, but mender developers decided to not integrate that into their fork.

If you guys are interested, check this one out: Release Fix recovery boot · tidewise/uboot-mender · GitHub