If you have an existing solution created for the CPi-A/B panel PCs that utilize the Raspberry Pi Compute Module 3+, but would like to migrate that solution to CPi-C/S panel PCs that utilize the Raspberry Pi Compute Module 4/4S, you will need to update the operating system's bootloader, firmware, and kernel in order for the CPi-C/S panel PCs to boot.
The recommend method of migrating an existing solution to the CPi-C/S panel PCs is to install the latest operating system, make adjustments to the system's configuration, and redeploy your software. This method will ensure you are using the bootloader, operating system, and root filesystem permutation that was given the most testing and scrutiny by both Raspberry Pi Ltd. and COMFILE Technology.
Scripting your configuration and deployment procedure in Bash, Python, or some other scripting language can help automate your deployment so it is easier to reproduce on future models and operating system releases.
Please be aware that operating systems prior to Debian Bullseye (e.g. Debian Buster) are 32-bit with the dhcpcd network subsystem, while operating systems from Debian Bullseye onward are 64-bit with the Network Manager subsystem in order to best utilize the CPi panel PCs' hardware and keep pace with the evolution of the platform.
We understand the recommend method of using the latest operating system may require a significant amount of reconfiguration, testing, and even remembering or reverse-engineering changes that have been lost to time. If the recommended method is not feasible, the following method may work.
sudo rpi-update and follow the on-screen instructions. This will update the operating system's bootloader and kernel, but will leave the root file (i.e. the operating system's Debian release) unchanged. For more information see the rpi-update documentation
/boot/cpi-sxxxx_config.txt (for the CPi-C and CPi-S respectively) to the CPi-A/B's
/boot folder, and use it to replace the existing
The risk with this method is you'll be using an updated bootloader, firmware, and kernel with an older root file system (i.e. Debian version), and breakage could be possible. However, in our testing so far, this method has not resulted in any issues.