Flashing default Raspberry Pi OS image doesn't boot on Raspberry Pi 3 Compute Module

I’ve flashed the Raspberry Pi OS image for Raspberry Pi 3 Model B given by Mender here to a Raspberry Pi 3 Model B Compute Module. However, it doesn’t boot, proven by the fact that the ssh file that I’ve touched on the boot partition is not removed (which should be done on startup to enable SSH).

If I use the Raspbian Buster Lite image on the Raspberry Pi webiste the Compute Module boots without any problems. I suspect there might be some issue with uboot on booting.

Is it wrong to assume that the default Mender image for Raspberry Pi 3 Model B does not work on its Compute Module counterpart? Or do I have to use Yocto to bake a specific image with this?

If anyone can help me with this that would be greatly appreciated.

I haven’t tested it explicitly, but I believe you are right, the image for RPi3 won’t work on the Compute Module. There are some technical tradeoffs in the conversion of the image to Mender images that means that each image is only compatible with the one it was designated for, even if the original input image would work for multiple Raspberry editions.

Fixing it is unfortunately a bit involved as it requires custom-compiling U-Boot for this board. This is being handled in this repository. But honestly, I think using Yocto will be easier, and it is documented much better, so I would recommend this route.

Thanks kacf, at least that confirms my suspicions I had when testing this myself. It’s unfortunate though, it would be nice if Mender would have compatible images available for download for multiple platforms.

I’ll look into bitbaking the image myself using Yocto.

I used to build images using mender-convert to build images for the compute module 3. When using mender-convert version 2.3.0 things used to work. When updating to 2.6.2 booting is no longer possible. Is there a way to specify the board used in order to properly install uboot?

Hi @kacf,

Is it possible to make a mender image compatible with raspberry pi 3b and raspberry pi 4 (at the same time to avoid having 2 images)? Or is it really too complicated?

I’m afraid it’s not possible with today’s mender-convert offering. It would require changing the bootloader integration here. I’m pretty sure it’s possible to fix it there, but it’s not a very high priority at the moment.

1 Like