Migration to CM4S based devices

Note: You can find this quick guide also as a PDF in our download area.

The Compute Module 4S used in the RevPi S/SE series has the current BCM2711 CPU, just like the Compute Module 4 (new form factor; basis for upcoming RevPi 4 device generation). This CPU is only supported with kernel 5.10, so that older images, which e.g., contain kernel 4.19, are not executable on RevPi S devices.

IMPORTANT: for migration scenario 2 or 3 an update of the kernel is necessary!

1. You have a device with KUNBUS image

If the image provided by Kunbus is used (e.g., device in delivery state or self flashed with current image), no special adjustments are necessary. The current image already contains the kernel in version 5.10.

The interfaces provided by the RevPi such as Ethernet, RS485, USB or connected expansion modules can be used as usual and are not affected by the change of the compute module.

2. You use a “Golden Image” based on an older KUNBUS image (from Stretch* upwards)

Here it is necessary to install the latest “Golden Image” on a CM3/CM3+ based device and perform a full package update. The update can be performed as follows (assuming connection to the Internet):

# Update package sources
sudo apt-get update

# Install all package updates
sudo apt-get upgrade

Afterwards, the device must be rebooted

and the kernel version used must be checked:

The output should be >= 5.10.92-rt60-v7l+.

The USB2 controller is disabled by default on the CM4S module (or BCM2711 CPU). Since the Ethernet port as well as the USB ports on the device front are connected via this controller, it must be ensured that the controller is activated on CM4S based devices. For this the following section must be added to the /boot/config.txt file, before the section [all]:

[all]
dtoverlay=dwc2,dr_mode=host

Likewise, make sure that the /boot/kernel7l.img file exists:

3. You use your own image

Customers with their own image must ensure that a corresponding kernel with support for the BCM2711 CPU is used. The easiest way to ensure this is to use the RevPi kernel version 5.10. The sources are available in our publicly accessible GitHub repository: GitHub – RevolutionPi/linux: Linux kernel source tree

Furthermore, it must be ensured that the USB2 controller is activated, since this is deactivated by default on modules with BCM2711 CPU. The Ethernet port as well as the USB ports on the front panel are connected via this controller. For this, the following section must be added to the /boot/config.txt file, before the section [all]:

[all]
dtoverlay=dwc2,dr_mode=host

Should the own image have been built with the RevPi imagebakery, a new image can be built according to the already known procedure. A current kernel package is downloaded and installed as part of the image creation. The necessary adjustments for the USB2 controller are also included in the current version of the imagebakery.