Manjaro for a custom RK3566 board (Radxa CM3)

Hi, I’m new by the way. :slight_smile:

As a hardware-oriented engineer I lack experience with software side of things, so I’d appreciate any hints on the following topic.

I’m building a custom device with Radxa CM3, a RK3566 “Compute Module” and I’m almost done with a prototype design. What I’m hoping to achieve is to drive a e-ink display with RK’s built-in EBC controller. This has already been done with PineNote, so I reckon this must be possible.

As far as my understanding goes, I may need to compile a kernel with a few additional modules. I will also need to craft my own device tree bindings. I’ve never done any of that, but I guess it can’t be that hard once I put my hands on an example or template of some sort. I was thinking that maybe I could base my work on existing support of SOquartz (Also RK3566) or Radxa 3A (RK3568).

At this point I’d like to mention that I’m not aiming at the “official Manjaro support” of my hardware, because there’s ~0% chance anyone else will own it, even though it’s going to be open source.

I read the pinned entry about contributing to Manjaro ARM and looked into “profiles”, but there was much less data than I hoped for - no Kernel config, nor dtb source files, just SBC-specific post-installation scripts that I couldn’t find sources of either. Honestly I don’t know where to look for all that.

So, maybe one step at a time: How do I even start doing all this? I guess first I’ve got to have any Manjaro running on that SBC with at least Ethernet support and work from there?

Thanks in advance for all your help.

Hello and welcome to the forum,

I think you should start by using the cm3 dts as base and add more nodes to it.

Yes this is to make Manjaro Images for the devices which does not get official releases.

All this is done using PKGBUILD which you can learn about from Arch Wiki
For Manjaro ARM Pkgs source you can look here

To compile your own kernel or other pkgs you will need either an X86 host pc or Arm64 with Manjaro/Arch Installed.

To know how to compile pkgs on x86 pc you can look at our manjaro-arm-tools pkg

if you plan to compile the whole kernel then you need to use a fast x86 pc or high end Arm64 device.

Feel free to tag me on this thread if you need any other help.

Good luck.

1 Like

Hi @spikerguy, I was hoping for your input. :slight_smile:

Fortunately I am a happy user of Manjaro on my x86 PC, so I’m familiar with at least some of those concepts.

Actually I’d rather not compile the whole kernel and lose the convenience of kernel updates managed by pacman. However it’s likely that one module or another might be missing, so I’m mentally prepared for this tradeoff.

Now the most important question is where to begin.
From what I’ve gathered so far, I should probably take a soquartz-cm4 as my template, copy, rename and modify uboot-soquartz-cm4 code, as well as arm-profile, build the package and see how much of that is working or not, and get to fixing.
I also plan to use rock3a as a source of inspiration, and of course Radxa’s official releases.
Please correct me if I’m missing anything here. Thanks!

By the way, in case nobody noticed, Radxa is donating CM3s along with their official carrier board CM3IO, and so far nobody claimed one to port Manjaro.

I already have E23/25 since long time where E25 uses cm3. Unfortunately both the board are not of Manjaro’s use case, hence no official support.

Manjaro Team is in direct contact with Radxa all the time, so we do get the device samples in time. I might ask for CM3IO for testing, that’s a good advice.

If it is only config changes then just share it here and we will enable it on the next kernel build.

You can add the kernel to ignore list for short period until all the test is done and you have a plan to upstream your kernel changes.

That should be a good start.

Thank you and Good luck.

4 Likes

Hi @mctom

Did you get the WIFI and BT to work on CM3, I can face the issue on this
I am blocked on this issue.

No, haven’t tried that yet, sorry.