Raspbian Stretch: Mender-converted vs original image - missing symbolic links in /boot - Picamera firmware missing

Hi Experts:

I am having difficulty with the Mender-ized Raspbian Stretch: image.

Mender-converted vs original image - missing many symbolic links in /boot from /uboot.

The image boots up fine and works fine for most parts of my application.

But when I try to start the Picamera application, it complains that Picamera is not enabled. Picamera firmware missing in the /boot. Comparing the Mender-converted vs original image, I noticed that many of the firmware files in the original /boot are missing in the Mender-ized image. The files are there in the /uboot but not all of them are sym-linked into the /boot directory.

Anyone else noticed similar issue?

Am I missing or misunderstanding something here?

Appreciate help from the experts.

Regards,
Raj

Hello @raj.panchal ,

Raspberry Pi uses a quite special boot sequence that is the root cause of these kind of issues. We’re not able to integrate directly with its bootloader because it’s proprietary so we’re replacing it with UBoot.

I am not an expert in this area, but there was a recent fix for a related issue here: https://tracker.mender.io/browse/MEN-4117 (fix at MEN-4117: Support headless configuration on Raspberry Pi by lluiscampos · Pull Request #320 · mendersoftware/mender-convert · GitHub).

Maybe you could try to apply that patch to your mender-convert and see if it could resolve the issue? It will be part of the next release of mender-convert too, which should be less than a week away.

Hi Eystein:

Thank you for the prompt reply.
The post Raspberry Pi 4 Model B + Raspbian mentions
Known issues:

  1. raspi-config does not work as expected on a converted image

  2. Boot firmware files
    Raspberry Pi boards have a set of boot firmware files that are located on the vfat boot part, and a selection of these files are:
    bootcode.bin fixup.dat fixup_cd.dat fixup_db.dat
    fixup_x.dat start.elf start_cd.elf start_db.elf start_x.elf

Does the next release of mender-convert address the above two issues?

I may need some help/guidance with adding the fix to my mender-convert setup as I am not so knowledgeable in git commands for adding the patches. And I cannot afford messing up my working mender-convert setup. While back Drew helped me guiding through the process and I don’t remember all the steps to get mender-convert setup.

I greatly appreciate your help.

Thanks,
Raj

Hello Raj,

I don’t believe the new release will resolve either of these Known issues, and in fact 2) I think requires upstream improvements by Raspberry Pi to how the boot process works unfortunately. It is not very update-friendly.

I’m sorry but I am not an expert on this, I just knew about the related fix that might help. Perhaps try to symlink the firmware you need from /boot to /uboot?

In general we use the /uboot directory instead of /boot and that’s why some low-level tools don’t work. But it can be patched in the Raspberry Pi specific script of mender-convert: mender-convert/raspberrypi_config at master · mendersoftware/mender-convert · GitHub

Hi Eystein:

Thank you for the link mender-convert/raspberrypi_config at master · mendersoftware/mender-convert · GitHub.
Basically, I followed the example and sym-linked all files from the /uboot to /boot. Probably, not all of them need to be sym-linked but it one-to-one mapping with the original image.

Again, Thanks for your help.

Regards,
Raj

Thanks for the feedback @raj.panchal .

Curious about your opinion @lluiscampos - should we link more (/all) of /boot contents to /uboot to avoid such issues?

Hi Eystein:
I just took an uneducated approach to mirror what’s in the /boot of original image; Partly, to avoid retesting the full system for any mender-convert side-effect.

Perhaps, a more educated approach to selectively mirroring the necessary links from /uboot to /boot would be better.

Regards,

Raj

Hi @eystein and @raj.panchal

I think it should be okey to symblink all files existing in /uboot from /boot. See task at https://tracker.mender.io/browse/MEN-4658 and tentative fix at MEN-4658: Support Raspberry Pi apps expecting files at /boot by lluiscampos · Pull Request #343 · mendersoftware/mender-convert · GitHub. I will test it later this week.

1 Like

Hi @raj.panchal,

We have merged the above mentioned PR and it will be released in the following Mender release.

Meanwhile you can use the master image and it should solve your reported problem. Let us know if it is not the case :slight_smile: