we are in the middle of upgrading a CM1-based product using Raspberry firmware from the year 2015 to a more recent version (bootcode.bin, fixup_cd.dat, start_cd.elf). Specifically, we've been using the version from git://github.com/raspberrypi/firmware.git, commit f7108cfdc715f79c5fd051fb4c3ae6f4b1b01f23 as of 21 October, 2015, and now we are trying to use the one found in https://github.com/raspberrypi/firmware ... 029.tar.gz.
It actually works very well on the CMIO board, and I can see the kernel booting on UART, followed by the rest of the system. The very same Compute Module, however, fails to start up at all if plugged into our appliance---no messages on UART whatsoever. With older firmware, the module just boots fine inside that appliance.
Now, this makes me wonder if the new version of the bootloader reads out some GPIO the older version does not, and hangs in case this GPIO is high or low. Or maybe there are some other conditions that could hang the boot process and prevent the kernel image from being loaded/started.
I am pretty clueless at this point. Is it possible to debug the very early boot process? Is it possible to ask the binary bootloader(s) to emit some debug messages somewhere I can see them? Or is there any change log for the bootloader? Documentation?
Thanks in advance!