… or at least more upstream.
Recently I tried to migrate our home NAS from our good old (TM) Intel Celeron N3150 to a more modern Radxa Rock 5 ITX. The new board fits perfectly to the needs of our home: Small, enough peripherals for what I need, low-power yet strong enough to host our home services on it for the next years to come. And it doesn’t cost an arm and a leg, although it’s not cheap either. And it’s ARM based.
ARM boards are still a bit tricky, but since I have a Radxa Rock 5B already, I kinda know what to expect. The Rock 5B performs well. It’s small, low power yet still performant enough. In short, it is a good little board for many many use cases and it runs perfectly fine with a single NVME SSD disk. I have some smaller issues on the older Kernel of the openSUSE Leap Micro 5.5 on it, and discovered that the most annoying one disappears with the newer Kernel of classical openSUSE Leap 15.6. HDMI is still not working, but that’s just a minor annoyance for me, as the UART serial port works perfectly fine. I anyways run it headless after the installation, so except for when shit hits the fan, I anyways don’t need it. All in all this is a fine little fella, it has some rough edges but it does a decent job.
Both boards boots fine once a custom firmware is installed on it. On the Rock 5B I still don’t see the eMMC, but that never bothered me much. I just installed the main system on the NVME and that worked perfectly fine. All in all, there are some quirks, but one gets the hang on them, and at the end of the day it is just fine. Not perfect, but fine. It gets the job done and doesn’t use much power, which is awesome.
So, with all of that said, I prepared the whole system to replace the old NAS. I have installed a base system and configured it. I then disconnected the the old board out, swapped the new one in and … discovered that the SATA ports are not available because the SATA subsystem is only supported on Kernel 6.5, while Leap is still on 6.4. grml.
I just blindly assumed that a board based on the similar Rock 5B (released early 2022) would be sufficiently supported by now, so technically this mess is on me. I am also somehow prepared for issues like this, because while ARM matures slowly, they are still to be treaded as development boards and not commodity products. I expected some issues when I bought it, and this is not the first time I end up with a board and have to fiddle around to make it work.
But I still wonder … I mean, I want ARM to succeed, I really really do. I also want RISC-V to succeed. But I still wonder …
I still wonder, why it is so common when buying a ARM board, especially not a cheap one like the Radxa Rock boards, that it seldom just runs out-of-the-box in the same way as a off-the-shelf x86_64 board does?
I remember countless times when I need to fiddle around with U-Boot. Or just stick to the custom Debian/Ubuntu builds (looking at you Turing Pi RK1) that are not-so-open and often poorly supported. Or that require a non-mainstream U-Boot. Or what else …
Mainline Linux support is still lacking way way way behind when compared to x86_64. And I feel, that if we want to make ARM server boards successful, there is no other way around than improve the mainline Linux support. So that ultimately the out-of-the-box experience is such that people can just buy stuff off-the-shelf hardware and install any mainstream Linux distro on it, just the same way as we do nowadays with most x86_64 boards.
My issue will eventually go away with a newer kernel, either built myself or by mainstream openSUSE. In the meantime I hope that most of the RK3588 stuff gets upstreamed soon, so that the in the next years the main distros will ship a kernel, that will support this hardware before it becomes obsolete.
And I hope, that the available ARM boards of tomorrow become mainstream enough, that everyone can just but them off-the-shelf, install their preferred mainstream Linux distribution on it, and doesn’t find themselves in a situation, where the SATA ports are simply not showing up.
I’m looking forward to that day, and I’m certain it will come. It will be a good day. Until then, I guess ARM hardware is still reserved to the few of us, that are willing to take some risk and invest a certain amount of time in fiddling with them to make them work.
Because at the end of the day … There’s also some fun in fiddling with the hardware you got, because that makes me sometimes love and appreciate it even more.
Cheers.