Ubuntu Core on RaspberryPi 4 Compute module

Has anyone tried to run the Ubuntu Core image on the RaspberryPi 4 Compute module already? It’s not possible to purchase the device in Germany at the moment cause they are sold out.

it should just work /me thinks … probably @waveform can confirm ?

I’ll try it myself as soon as I have the chance to get a device.

given it is essentially a Pi4 with some removed peripherials i wouldn’t see why it wouldn’t work …

I wonder if anyone managed to get it working? It just stalls on boot whenever I flash Ubuntu Core arm64 on the CM4.

Try an edge image, the kernel and gadget snaps in stable are not really there yet, the edge image runs fine …

(the same goes for the snapped rpiboot utility if you want to use it for flashing to an eMMC equipped CM4, edge has the working version)

Hello, using Raspberry Pi Imager v. 1.7.4 I flashed a usb card with ubuntu-core-22-arm64+raspi.img.xz on a Raspberry Compute Module 4 connected to its IO board

These are the boot messages I see via uart:

[    0.703634] brcm-pcie fd500000.pcie: link down
[    2.715803] snap-bootstrap[294]: 2022/12/08 15:32:00.145426 cmd_initramfs_mounts.go:1340: waiting up to 1m0s for /dev/disk/by-label/ubuntu-seed to appear
[   63.116978] snap-bootstrap[294]: 2022/12/08 15:33:00.545482 secboot_tpm.go:189: cannot open TPM connection: no TPM2 device is available
[   63.140565] snap-bootstrap[294]: 2022/12/08 15:33:00.545665 main.go:70: execution error: cannot mount source: no /dev/disk/by-label/ubuntu-seed after waiting for 1m0s
[<ESC>[0;1;31mFAILED<ESC>[0m] Failed to start <ESC>[0;1;39mMount initial filesystems<ESC>[0m.
[<ESC>[0;1;38;5;185mDEPEND<ESC>[0m] Dependency failed for <ESC>[0;1;39mInitrd Root Device<ESC>[0m.
[   63.141119] snap-bootstrap[294]: error: cannot mount source: no /dev/disk/by-label/ubuntu-seed after waiting for 1m0s
[<ESC>[0;1;38;5;185mASSERT<ESC>[0m] Assertion failed for <ESC>[0;1;39mEmergency Shell<ESC>[0m.
[<ESC>[0;1;38;5;185mDEPEND<ESC>[0m] Dependency failed for <ESC>[0;1;39mEmergency Mode<ESC>[0m.
[<ESC>[0;1;38;5;185mASSERT<ESC>[0m] Assertion failed for <ESC>[0;1;39m/sysroot<ESC>[0m.
[<ESC>[0;1;38;5;185mDEPEND<ESC>[0m] Dependency failed for <ESC>[0;1;39m/sysroot/writable<ESC>[0m.
[   63.524191] reboot: Restarting system

and then again

[    0.704375] brcm-pcie fd500000.pcie: link down
[    2.856554] snap-bootstrap[297]: 2022/12/08 15:32:00.262098 cmd_initramfs_mounts.go:1340: waiting up to 1m0s for /dev/disk/by-label/ubuntu-seed to appear

in loop.

If I flash RASPBERRY PI OS (32 BIT) then I see a ‘normal’ ubuntu boot, with the Time Zone and keyboard configuration, the introduction of the credentials to access via ssh, then an auto-upgrade of the packages, in other words a typical ubuntu boot on a Raspberry Pi

and then I am able to install snapd and then the core snap and all the snaps I need.

But what I would like to have is a native Ubuntu Core os running on the Compute Module 4.

What’s wrong with UBUNTU CORE 22 (64 BIT) on my CM4?

Do I have to check the content of the eMMC or the EEPROM?

One further remark, maybe it is not helpful: if I have a look at the two usb pendrive I see that in the Raspberry Pi OS case I have two partitions, one is bootfs, the other has no name; in the UBUNTU CORE case the pendrive has only one partition, called ubuntu-seed.

one further info: I am using a CM4 module, NOT a CM4 Lite

note that this thread is 2y old and refers to core20 … does it work if you use a core20 image instead ?

(there might be new bugs in core22 or different steps needed … again @waveform might be able to help as the Pi maintainer…)

thanks for the feedback!

I tried

  • ubuntu-core-20-armhf+raspi.img.xz

as well, also

  • ubuntu-core-20-arm64+raspi.img

but they did not work.

Dear @waveform and @ogra, do you have any information about Ubuntu Core on Raspberry CM4S?

I have plugged a CM4S module on a CM3+ I/O board, assuming the two are equivalent on the input/output side.

I have flashed a Rasperry PI OS (32-BIT) image and did not experience issues.

But when I use a ubuntu-core-22-armhf+raspi.img to flash the eMMC then I am not able to use the usb type A port at all.

And I need to use it in order to plug a usb_to_eth adapter, in order to connect the CM4S to the internet (otherwise the boot procedure does not proceed); I would need to use a usb keyboard as well but I can use the serial lines in order to send commands so the need of a usb keyboard might be not so relevant.

If I flash an RPIOS I do not experience issues, if I go for Ubuntu Core I have issues. This makes me think the problem is in the software side, not in the hardware one.

To the best of you knowledge do I have to customise something in the Ubuntu Core 22 for armhf in order to have it run without issues on a CM4S?

Thanks a lot!

Dear @waveform and @ogra, I post my solution to the problem (actually suggested to me by PhilE, Raspberry Pi Engineer & Forum Moderator):

in the config.txt section

[cm4]
# Enable the USB2 outputs on the IO board (assuming your CM4 is plugged into
# such a board)
dtoverlay=dwc2,dr_mode=host

I had to change [cm4] with [cm4s]:

[cm4s]
# Enable the USB2 outputs on the IO board (assuming your CM4 is plugged into
# such a board)
dtoverlay=dwc2,dr_mode=host

and this made the CM4S running Ubuntu Core 22 for armhf activate the usb interface.

Best regards,

Ezio

2 Likes