# Arch Linux ARM for uConsole w/ RPi CM5

**URL:** <https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382>\
**Category:** uConsole\
**Tags:** archlinux, cm5\
**Created:** [March 29, 2025, 11:05pm UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382 "2025-03-29T23:05:54Z")\
**Posts on this page:** 20\
**Page:** 2

<div class="post-metadata">

**Author:** ![PeterCxy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/petercxy/32/11395_2.png) [@PeterCxy](https://forum.clockworkpi.com/u/PeterCxy)\
**Post date:** [April 18, 2025, 1:17am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/21 "2025-04-18T01:17:23Z")

</div>

Are you sure with my build it’s the _screen_ that doesn’t power on, or is it that the kernel just doesn’t boot? You can test this by putting something like a pre-generated NetworkManager config in the rootfs and see if it ends up connecting to your Wi-Fi.

---

<div class="post-metadata">

**Author:** ![Rex](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/rex/32/16852_2.png) [@Rex](https://forum.clockworkpi.com/u/Rex)\
**Post date:** [April 18, 2025, 1:21am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/22 "2025-04-18T01:21:23Z")

</div>

Make sure you are using the overlays from my repo and have them in the config.txt also. Each version of the CM has its own overlay. You can check out the default config.txt for my images here in the kernel folder:

> **[File folder on MEGA](https://mega.nz/folder/LSInGD6J#0YezWX8xC4PkbyForgl1Hw)**

---

<div class="post-metadata">

**Author:** ![PeterCxy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/petercxy/32/11395_2.png) [@PeterCxy](https://forum.clockworkpi.com/u/PeterCxy)\
**Post date:** [April 18, 2025, 1:23am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/23 "2025-04-18T01:23:45Z")

</div>

@YoelFievelBenAvram I took a look at the kernel package produced by your PKGBUILD, it’s missing the CWU50 panel driver because it’s also missing from the old 6.6.y kernel config (it’s probably under a different name for that old kernel). You need at least

```auto
CONFIG_DRM_PANEL_CWU50=m
CONFIG_DRM_PANEL_CWU50_CM3=m
CONFIG_DRM_PANEL_CWU50_CM4=m

```

(the CM4 one is actually retired from the latest 6.12.y branch because CM4/CM5 now shares the same CWU50 driver)

But then again, I have all of these in my kernel build. I have no clue how mine doesn’t boot (or the display doesn’t power on, either way). FWIW there should not be any significant difference between the package built with your PKGBUILD and mine, save for `config` differences (but then again that’s just the Debian package’s config anyway).

---

<div class="post-metadata">

**Author:** ![Rex](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/rex/32/16852_2.png) [@Rex](https://forum.clockworkpi.com/u/Rex)\
**Post date:** [April 18, 2025, 1:25am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/24 "2025-04-18T01:25:38Z")

</div>

> [@PeterCxy](#):
>
> (the CM4 one is actually retired from the latest 6.12.y branch because CM4/CM5 now shares the same CWU50 driver)

I was just writing that out

---

<div class="post-metadata">

**Author:** ![YoelFievelBenAvram](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yoelfievelbenavram/32/10088_2.png) [@YoelFievelBenAvram](https://forum.clockworkpi.com/u/YoelFievelBenAvram)\
**Post date:** [April 18, 2025, 1:36am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/25 "2025-04-18T01:36:44Z")

</div>

I had pulled the sd card, chrooted in and ran dmesg. It appears to have booted okay. @Rex the config.txt seemed to be right. This is what I’m using

> [pi4]  
> dtoverlay=clockworkpi-uconsole  
> dtoverlay=vc4-kms-v3d-pi4,cma-384  
> dtparam=spi=on  
> enable\_uart=1
> 
> [all]  
> ignore\_lcd=1  
> max\_framebuffers=2  
> disable\_overscan=1  
> dtparam=audio=on  
> dtoverlay=audremap,pins\_12\_13  
> dtoverlay=dwc2,dr\_mode=host  
> dtparam=ant2  
> kernel=vmlinuz-linux-clockworkpi-git  
> initramfs initramfs-linux-clockworkpi-git.img followkernel

---

<div class="post-metadata">

**Author:** ![PeterCxy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/petercxy/32/11395_2.png) [@PeterCxy](https://forum.clockworkpi.com/u/PeterCxy)\
**Post date:** [April 18, 2025, 1:38am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/26 "2025-04-18T01:38:18Z")

</div>

> [@YoelFievelBenAvram](#):
>
> I had pulled the sd card, chrooted in and ran dmesg

No, this doesn’t mean anything. `dmesg` gives you the kernel messages on the host… chrooting is irrelevant here. You need to test if it does anything else. It should probably also have written something into, for example, `/var/log`, if it did boot.

---

<div class="post-metadata">

**Author:** ![Rex](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/rex/32/16852_2.png) [@Rex](https://forum.clockworkpi.com/u/Rex)\
**Post date:** [April 18, 2025, 1:40am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/27 "2025-04-18T01:40:55Z")

</div>

I just checked your kernel pkg and @PeterCxy is right you are missing the panel driver.

 ![Untitled](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/5/5270f8ac240e67577a9222f85a0a03c52e6ba730.png)  
You’ll need to add that to your kernel config and compile it.

---

<div class="post-metadata">

**Author:** ![YoelFievelBenAvram](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yoelfievelbenavram/32/10088_2.png) [@YoelFievelBenAvram](https://forum.clockworkpi.com/u/YoelFievelBenAvram)\
**Post date:** [April 18, 2025, 1:43am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/28 "2025-04-18T01:43:17Z")

</div>

I hadn’t realized that. Maybe it didn’t boot. I don’t see anything in /var/log. Now to figure out why it isn’t booting…

---

<div class="post-metadata">

**Author:** ![PeterCxy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/petercxy/32/11395_2.png) [@PeterCxy](https://forum.clockworkpi.com/u/PeterCxy)\
**Post date:** [April 18, 2025, 1:44am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/29 "2025-04-18T01:44:46Z")

</div>

Are you using the same rootfs when you tried my kernel build and yours? What if you kept everything the same and _only_ replaced the kernel package (and the corresponding `kernel=` and `initramfs` in `config.txt`)? Because for what I can tell there should be exactly no difference here, except my package has the CWU50 driver and yours had it missing due to a different `config`.

---

<div class="post-metadata">

**Author:** ![PeterCxy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/petercxy/32/11395_2.png) [@PeterCxy](https://forum.clockworkpi.com/u/PeterCxy)\
**Post date:** [April 18, 2025, 1:48am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/30 "2025-04-18T01:48:37Z")

</div>

Oh, @YoelFievelBenAvram I just realized (cc @mterencelao too?) that due to the nonstandard kernel naming, you probably _do_ need

```auto
arm_64bit=1

```

in your `config.txt` in order to boot my kernel on a CM4 (ref: [Raspberry Pi 4 doesn't auto-switch to 64bit mode based on kernel image filename · Issue #1193 · raspberrypi/firmware · GitHub](https://github.com/raspberrypi/firmware/issues/1193), it only auto-switches if the kernel is named `kernel8.img`). The one you posted just above doesn’t have it, while the one included in your own kernel package repo has it. This is not a problem on CM5 because it boots 64-bit all the time, and this is not a problem on Rex’s Debian image because it uses `kernel8` naming.

---

<div class="post-metadata">

**Author:** ![YoelFievelBenAvram](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yoelfievelbenavram/32/10088_2.png) [@YoelFievelBenAvram](https://forum.clockworkpi.com/u/YoelFievelBenAvram)\
**Post date:** [April 18, 2025, 1:49am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/31 "2025-04-18T01:49:42Z")

</div>

No, I tried mine on potato’s image and yours on a fresh build. I’ll try the adding the driver to my config and try again.

---

<div class="post-metadata">

**Author:** ![PeterCxy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/petercxy/32/11395_2.png) [@PeterCxy](https://forum.clockworkpi.com/u/PeterCxy)\
**Post date:** [April 18, 2025, 1:51am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/32 "2025-04-18T01:51:06Z")

</div>

Maybe try adding `arm_64bit=1` to your `config.txt` when booting my kernel too 😃

---

<div class="post-metadata">

**Author:** ![YoelFievelBenAvram](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yoelfievelbenavram/32/10088_2.png) [@YoelFievelBenAvram](https://forum.clockworkpi.com/u/YoelFievelBenAvram)\
**Post date:** [April 18, 2025, 1:54am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/33 "2025-04-18T01:54:26Z")

</div>

That did it! I have booted and logged in root. Thanks a lot. I can go ahead and burn my books.

---

<div class="post-metadata">

**Author:** ![PeterCxy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/petercxy/32/11395_2.png) [@PeterCxy](https://forum.clockworkpi.com/u/PeterCxy)\
**Post date:** [April 18, 2025, 1:57am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/34 "2025-04-18T01:57:56Z")

</div>

> [@YoelFievelBenAvram](#):
>
> e booted and logged in root. Thanks a lot. I can go ahead and burn my books.

Thanks for confirming! I updated my `INSTALLATION.md` to add that to the `config.txt` example as well.

Funnily enough, the [RaspberryPi documentation](https://www.raspberrypi.com/documentation/computers/config_txt.html) claims that this flag

> Defaults to 1 on Raspberry Pi 4, 400 and Compute Module 4, 4S platforms. Defaults to 0 on all other platforms. However, if the name given in an explicit `kernel` option matches one of the known kernels then `arm_64bit` will be set accordingly.

So I have no clue how this didn’t default to 1 when booting my kernel build. I bet they wrote a match based on the kernel name and just reset everything back to 0 when it’s not something already known.

---

<div class="post-metadata">

**Author:** ![YoelFievelBenAvram](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yoelfievelbenavram/32/10088_2.png) [@YoelFievelBenAvram](https://forum.clockworkpi.com/u/YoelFievelBenAvram)\
**Post date:** [April 18, 2025, 2:21am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/35 "2025-04-18T02:21:07Z")

</div>

Just installed this on top of potato’s image that I’ve been daily driving and it seems to be working fine. With stock wpa\_supplicant btw.

---

<div class="post-metadata">

**Author:** ![YoelFievelBenAvram](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yoelfievelbenavram/32/10088_2.png) [@YoelFievelBenAvram](https://forum.clockworkpi.com/u/YoelFievelBenAvram)\
**Post date:** [April 21, 2025, 2:16am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/36 "2025-04-21T02:16:42Z")

</div>

Thanks for patching the timing issue. It wasn’t so much an issue with the binary package but the one built from the pkgbuild was giving me trouble.

---

<div class="post-metadata">

**Author:** ![mterencelao](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mterencelao/32/9066_2.png) [@mterencelao](https://forum.clockworkpi.com/u/mterencelao)\
**Post date:** [April 21, 2025, 6:07am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/37 "2025-04-21T06:07:49Z")

</div>

It’s alive, it’s alive! Your kernel is alive!

 ![Screenshot From 2025-04-21 13-57-12](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/3/3c4d25e12fc302aed210832cae8e4961956beca9.png)

You may confirm that your kernel works with the CM4 as well. I’d still be on the lookout for strange behavior. But for now, I’m happy to report that the display (built-in and HDMI), the I/O and networking are functional. I can test for the LTE module as well, but I bet that it would work too is a no-brainer.

I guess we can definitely say I’m running @Rex’s kernel now. Thank you for your diligence in supporting the ClockworkPi 3.14 boards. And thanks, @PeterCxy for making the effort to bring the kernel to Arch ARM.

_UPDATE:_ Kernel broke audio. ~~Patch~~ Additional package definitely brought it back.

---

<div class="post-metadata">

**Author:** ![YoelFievelBenAvram](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/yoelfievelbenavram/32/10088_2.png) [@YoelFievelBenAvram](https://forum.clockworkpi.com/u/YoelFievelBenAvram)\
**Post date:** [April 21, 2025, 3:05pm UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/38 "2025-04-21T15:05:38Z")

</div>

There’s a systemd service he put in there that fixes the audio.

---

<div class="post-metadata">

**Author:** ![PeterCxy](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/petercxy/32/11395_2.png) [@PeterCxy](https://forum.clockworkpi.com/u/PeterCxy)\
**Post date:** [April 25, 2025, 12:24pm UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/39 "2025-04-25T12:24:19Z")

</div>

> [@mterencelao](#):
>
> _UPDATE:_ Kernel broke audio. ~~Patch~~ Additional package definitely brought it back.

There’s now a [workaroud](https://gitea.angry.im/PeterCxy/alarm-clockworkpi-uconsole/src/branch/main/pkgs/linux-clockworkpi-git/cm5-virtual-hp-widget.patch) in my package that fixes it in device tree for CM5, without needing a userspace service. Unfortunately CM4 and CM3 handle audio differently (CM5 has the RP1 chip) and since I don’t have a device to test, I don’t know if the same can be done on CM4 and CM3.

My gut feeling is on CM4 and CM3 we either need to fix the BCM2835 sound driver (on CM5, RP1 audio ends up routed through a `simple-audio-card` driver, which can do this kind of switching natively), or we need to bring back @PotatoMania’s `simple-amplifier-switch`.

---

<div class="post-metadata">

**Author:** ![mterencelao](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/mterencelao/32/9066_2.png) [@mterencelao](https://forum.clockworkpi.com/u/mterencelao)\
**Post date:** [April 26, 2025, 8:53am UTC](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382/40 "2025-04-26T08:53:42Z")

</div>

> [@PeterCxy](#):
>
> There’s now a [workaroud](https://gitea.angry.im/PeterCxy/alarm-clockworkpi-uconsole/src/branch/main/pkgs/linux-clockworkpi-git/cm5-virtual-hp-widget.patch) in my package that fixes it in device tree for CM5

You mean, version `6.12.22.r1316782.202504250215.aff0059-1`? I can disable your `systemd` service for a while to test.

[Previous page](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382.md?page=1)

[Next page](https://forum.clockworkpi.com/t/arch-linux-arm-for-uconsole-w-rpi-cm5/16382.md?page=3)
