Ready-to-flash Arch Linux ARM images for uConsole CM4 and CM5

Hi everyone,

I made a small Arch Linux ARM project for the ClockworkPi uConsole:

There are already some great uConsole Linux and kernel projects in the community, but I wanted to try building my own Arch Linux ARM setup focused on ready-to-flash images and pacman-installable kernel packages.

The main goal is to make it easier to get started with Arch Linux ARM on the uConsole without manually preparing the root filesystem and installing a custom kernel before the first boot.

Current features:

  • Ready-to-flash Arch Linux ARM images for uConsole CM4 and CM5

  • Kernel packages for CM4, CM5, and CM5 4K page mode

  • Pacman repository for kernel updates

  • Easy switching between the default CM5 16K page kernel and the CM5 4K page kernel through pacman

  • Basic boot profiles for uConsole CM4/CM5

  • Patched wpa_supplicant-raspberrypi package for Raspberry Pi / Broadcom Wi-Fi environments

  • Image build script and kernel package build scripts included

  • Kernel packages are built automatically with a self-hosted GitHub Actions runner

The CM5 image uses the 16K page kernel by default. A separate CM5 4K image is not provided, but you can switch to the linux-uconsole-cm5-4k-git package after boot if you need better compatibility with software that expects 4K pages.

This is still a small project and probably still rough around the edges, but I have started writing documentation for installation, packages, boot configuration, and image building. I am sharing it here in case it is useful to anyone else, and I would be happy to hear feedback, suggestions, or bug reports.

Here is a screenshot of the image running Hyprland on my uConsole:

Thanks to everyone who has worked on uConsole Linux support. This project was made while referring to existing community work and trying to package things in a way that is convenient for Arch Linux ARM users.

8 Likes

You can switch 16k and 4k kernel file in config.txt

1 Like

I think we can make it together. I think it’s too much versions of arch kernel. It’s difficult for a beginner to choose just one thing. Are you using latest stable kernel and screen driver? My kernel Patched OuinOuin74's arch kernel

1 Like

Sorry for the long reply. I wanted to explain my current setup a bit more clearly.

To clarify my current setup: I am not really maintaining my own kernel fork right now. My kernel packages are mostly based directly on Rex’s uConsole kernel work, and my repository repackages it for Arch Linux ARM.

My project is mainly focused on ready-to-flash Arch Linux ARM images, pacman packages, repository updates, and documentation. The kernel itself is not the main focus of the project.

Since your project is more focused on the Arch/uConsole kernel side and uses a newer Raspberry Pi kernel base, I think your kernel may be a better base for my Arch packages. I like keeping the Arch Linux ARM image up to date, so your work looks very interesting to me.

The only thing I want to check is the OCP8178 backlight driver. I have not tested your implementation on real hardware yet, so I am not saying there is any actual issue.

While comparing the code, I noticed that the OCP8178 backlight handling seems different from Rex’s implementation. My understanding is that repeatedly entering 1-wire mode during brightness changes might potentially cause visible flicker, but I have not verified this myself.

Do brightness changes work smoothly with your current OCP8178 driver on real hardware? If there is any issue, do you think Rex’s OCP8178 behavior could be kept or ported?

If that part works well, I think using your kernel as the base for my Arch packages and images would make a lot of sense.

1 Like