Hardware:
-uConsole
-Radxa CM5 16GB/128GB
-Hackergadgets Radxa CM5 Adapter
-Hackergadgets Battery Upgrade Kit
-Hackergadgets USB and Ethernet Extension
-Radxa CM5 IO Board
-SD card
After a very long wait to get the uConsole, I finally have had it in my room as a decorative piece for several weeks.
There are several posts in these forums claiming to have had the combo working with the latest necessary panel drivers and everything else, most of them don’t say anything else at all.
All of them seem to be nudging you into using their pre-compiled images, because no build process works, if ever it is even mentioned.
I guess I should mention I do not use pre-compiled images from anywho’s repository because I don’t know the people that make them and what is in them, and any trustworthy contribution would let you know exactly what’s in them for you to build yourself, which doesn’t happen. Therefore I don’t use them.
At first I tried building the whole image, but found gross issues with Radxa’s bsp tool which kinda don’t belong in this forum. Then I tried more standard methods but the process proved to not work for reasons similar or related to what I detail later on.
Therefore I tried to start with an established reputable image such as the Armbian images for the Radxa CM5 to start inside out, but none of them would even boot, not on the uConsole nor on the IO board.
I then used Radxa’s CM5 IO Desktop Image, which does run on the IO board with everything working.
Surprisingly, unlike armbian images, it runs on the uConsole as well though it can only be interacted with through the ssh and Hackergadet’s Ethernet port.
_________________________________________________________
The “Arch Linux for Radxa CM5 on uConsole” Repository:
This recent guide provides scripts to build and push the Kernel needed to the uConsole through ssh.
I tried following this guide but, as I mentioned, with Radxa’s Debian, instead of Arch.
This meant to fix 2 issues:
- For starters, you will not be able to boot any Arch on the Radxa uConsole so that you can ssh to it and start working on it, just as with the Armbian images.
- Arch is a massive friction bomb for something that is already hard enough. I understand it for educational purposes and on other not-so-niche devices, or for people who want to say something about themselves, or for other undisclosed reasons. But for newcomers who want to get to work daily on their uConsole as well and have some sanity somewhat throughout, using pacman instead of the more consolidated apt is just asking for another massive wall to climb that you aboslutely don’t need to have.
Even Rex’s libraries for Hackergadgets antenna upgrades and what not are in apt and not pacman (by the way, they are no longer on apt either, and the source of what it used to be is nowhere to be found as far as I searched).
At any rate; you may follow the guide with a minor adaptation at step 6, using update-initramfs instead of mkinitcpio, because mkinitcpio is Arch-only.
Then get to the Installation part of the guide and find out no “rk3588s-radxa-cm5-uconsole-merged.dtb” file was generated.
README.md says:
‘The kernel build produces rk3588s-radxa-cm5-uconsole-merged.dtb directly in the source tree — it already has the CWU50 panel, AXP20x PMIC, and DSI1 nodes baked in. This is confirmed working.’
I confirmed this not working. I don’t know who it says confirmed it working.
There is no mention of it in the Makefiles that such .dtb would be made. You can even search for any mention of ‘rk3588s-radxa-cm5-uconsole-merged’ in the contents of all the files in the source, it’s just not instructed.
Unless I overlooked something, or something that the guide overlooked too or didn’t mention, obviously.
Keep in mind the build process has nothing to do with Arch vs Debian yet.
What is said in the repo branch that happens just doesn’t happen.
_________________________________________________________
Patch Up Attempt:
I tried then to patch that up with these, overlays. The repository is referenced in this post, mentioning a guide that no longer exists in a ‘b23.tv’ site that is now gone.
I cloned them in the Radxa Image and added them using ‘rsetup’ which the brief guide-ish README.md suggests.
I did not expect this to work since this is an old repository and I did not think it would match the Kernel I previously built from the 0xrushi’s Arch fork of Rex’s repository, although in a previous post the owner mentions to have used dev-null2019’s overlays.
It did not work.
The old dev-null2019 repository, once again, conveniently provides a prebuilt kernel to use along with the overlay, but no process as to how that kernel was made, so I see no point in testing it.
Maybe it works though just as probably all the other precompiles available.
_________________________________________________________
For a DIY open source community the solutions and claims of success seem to be quite reserved.
So after those and several other attempts that I won’t detail —including modifying the .dts files, the Makefile, etc.— all I have is a Radxa uConsole I can ssh to and the exact same image provided by Radxa. No I can’t use it over HDMI.
I also haven’t tried reinventing the wheel yet.
So basically this is a call for those people who have had success to come out and just tell me what magic needs to be performed to build a working kernel, because they sure make it sound very straightforward. Otherwise I think I give up for now.
I’d like to not have to buy a Raspberry though, doesn’t feel like a solution and may even come with new horrors trying to do things from source.
Thanks.