I’m currently evaluating balena as a solution for fleet management of our industrial IoT devices. I was able to run our software in a container on the CM4 + IO board. Moving the same CM4 to our custom board caused the CM4 to not boot (activity led is on constantly but no signal on HDMI). Our design is really close to the official IO board in terms of the I/O and peripheral layout except that it includes a VL805 PCIe to 4x USB3 chip onboard.
Plugging a PCIe to USB card with the VL805 chip into the PCIe slot of the official IO board also causes the CM4 to not boot.
Does someone have an idea why connecting the VL805, that is also used on RaspberryPi 4B and that works fine with RaspberryPiOS, causes balenaOS to fail to boot? I’ve tried to get some output from the serial interface, but was unsuccessful to read anything except for some new-line characters.
Hi @mpous, thanks for the reply.
even if we let our custom board aside, the CM4 flashed with the image from the dashboard for my “RaspberryPi CM4 IO Board”-fleet will not boot even on the standard IO board, as soon as I plug in the PCIe VL805 card. The same card works fine with standard RaspberryPiOS and the same chipset is also used on the RaspberryPi 4B.
What kind of additional information can I provide? I was trying to provision my test device with balena and setting up our custom application to be run on my test fleet (currently consisting of a single device).
Have you tried with NVMe before eMMC in BOOT_ORDER? The short story is that there are some complexities with PCIe initialization, and putting NVMe before your eMMC forces PCIe initialization. This might resolve your issue. Your device will still boot from eMMC.