Elk Audio OS with RPI compute module 4

I have tried to run the latest Elk Audio OS with a RPI compute module 4.

After etching it onto the EMMC it did not start unfortunately.

Is it possible, or do you have any hints how I could make it happen?

Hi,
we never tried the Compute Module 4.

In theory it should be an “easy” customization but you’ll still have to get your hands dirty with a custom Yocto build starting from here:

From the screenshot, it looks like the first thing to solve is a boot configuration. I’d check if other Yocto-based RPi projects have handled this, a quick Google search led this result:
https://lists.yoctoproject.org/g/meta-virtualization/topic/86857750?p=Created%2C%2C%2C20%2C2%2C0%2C0

Cheers,
Stefano

Thank you very much, Stefano, I was not aware about the differences between CM4 and RPI4 model B.

I have taken first steps on the road to build Yocto now.

The first problem I figured out was that the current version of the firmware that is contained in Elk audio OS 0.11.0 is just too old for the RPI4 CM4

I have built ELK Audio OS now with the latest firmware and I also included the CM4 devicetree files which is excluded by default in ELK Audio OS

The latter was doable by modifying the local.conf file:

RPI_KERNEL_DEVICETREE_remove = "broadcom/bcm2711-rpi-400.dtb broadcom/bcm2711-rpi-cm4.dtb"

(Remove broadcom/bcm2711-rpi-cm4.dtb)

I still have to learn a lot about yocto and how its best for me to modify the Elk OS to use the latest version of the firmware. I currently just modified the locally cloned repo.

--- a/recipes-bsp/common/raspberrypi-firmware.inc
+++ b/recipes-bsp/common/raspberrypi-firmware.inc
@@ -1,9 +1,9 @@
-RPIFW_DATE ?= "20210421"
-SRCREV ?= "2ac4de4eaac5c1d1b25acec4a5e0a9fdb16f0c91"
+RPIFW_DATE ?= "20230106"
+SRCREV ?= "78852e166b4cf3ebb31d051e996d54792f0994b0"
 RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz;downloadfilename=raspberrypi-firmware-${SRCREV}.tar.gz"
 RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"

 SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[sha256sum] = "c687aa1b5127a8dc0773e8aefb1f009f24bf71ccb4c9e8b40a1d46cbbb7bee0c"
+SRC_URI[sha256sum] = "d71b4a941b297b1327564dd22a9bf70bee885a38e206c54cebec91b4824e21d8"

PV = “${RPIFW_DATE}”

Maybe upgrading the firmware could be solved upstream for the next ELK Audio OS version.

With these changes I can now run Elk Audio OS on CM4

With my initial experiments (without rebuilding the OS) i also had issues with the ethernet connection. Now with the rebuilt OS this was also solved.

Another thing is that the USB host port is disabled by default on CM4.

Changing config.txt by adding the following line solves this.

dtoverlay=dwc2,dr_mode=host
2 Likes

I am very happy to report, that ELK Audio OS v.1.0.0 starts without any modifications on CM4.

Thanks very much to the whole ELK team for making this happen. You guys rock!

3 Likes