There have been a lot of ARM SBCs over the years. Some, like the Raspberry Pi, are classics, with support for even the oldest models still active and updated. There are some like the CubieTruck and C.H.I.P., which are technically dead, but are still kept alive by the community. And then there are other devices, which came and went, and finding an OS that works is an actual challenge.
I have one of these devices, found in an old bin of abandoned SBCs. The Orange Pi One was one of my earliest purchases. In fact, it might be the first SBC I bought that wasn’t a Raspberry Pi. It’s an inelegant, small, slow device by today’s standards, but I’m loathe to throw out working hardware.
Except I don’t know if it works.
The problem is that while there are still images for this device, finding them is proving more and more difficult as the years go on. The Orange Pi One was never a powerhouse, sporting an Allwinner H3, 512 or 1024 MB of RAM, 10/100 Mb Ethernet, a barrel power jack, and a decently small footprint. It’s not great. In fact, it’s probably not worth saving, but dammit I want to get it working!
So, after trawling the usual spots, I came to a realization. Across the internet, there are hundreds of places for ARM device images, both modern and archival. The ones I usually check are Debian’s InstallingDebianOn page, DietPi, Armbian, and FreeBSD. Armbian has an image for the Orange Pi One, but it’s an automated build, and I have firsthand experience with those not working (CubieTruck). None of my other go-tos have it listed, and Debian, which has seemingly every other Orange Pi, doesn’t even have the One listed.
So this led me to look around to places I normally don’t, searching for an image.
Orange Pi
Orange Pi has a list of downloads, but the most recent one for the Orange Pi is a Debian Stretch build from 2019. I mean, it’s better than nothing, but Stretch has been archived by now. It’s a start, but not a great one.
There’s also a Ubuntu Xenial (18.04) image, and an Andoid 4.4 image I won’t be touching. Overall, support from Orange Pi themselves seems to have ended in 2019. To be clear, these images probably will work, but they would require a lot of maintenance, so we’ll see if there’s something better out there.
OpenSUSE
OpenSUSE is a distro I very rarely touch, except for testing. As the ‘community’ version of SUSE, it has a rolling (Tumbleweed) and stable (Leaf) images, but only Tumbleweed for ARM SBCs it seems. It has a dedicated section of support for ARM SBCs, but sadly the One isn’t there.
The support for ARM devices is quite strong though, compared to other distros, so it might be worth testing this again in the future.
FreeBSD
I check FreeBSD fairly regularly because it’s an OS I use with… some regularity. It’s ARM support is minimal, especially on older devices, but it seems to work well on the ones it explicitly lists as working. The problem here is that even if it had an Orange Pi One image (which it doesn’t) I wouldn’t want to use it anyways, since ARMv7 is a Tier 2 architecture, meaning it doesn’t get features like PKG. On an ARM system this old and slow, building something from ports is just a bad idea, given how prone to crashing on high load they are.
NetBSD
Before this hunt, I had mostly forgotten NetBSD existed. NetBSD is a project that has a wide range of support for various hardware, from big servers to little SBCs. There, on that page for ARM, is the One. It has a download that works, and it’s a current version. A savior!
Now, the problem comes if I want to treat this device like my others, I’ll have to make special consideration of the NetBSD package management system (which I would have to learn). From a cursory glance, it seems to have a source mode, which worries me since this thing was never that stable when it was new.
This is an option, but if I can find a Linux distro, I might use that over this.
Arch Linux ARM
Arch Linux is another platform I’ve touched in the past, but never really used as anything but a test. The main feature of Arch is the light core, which could be very useful here, if they have an Orange Pi image.
Which they don’t. But again, an OS to look out for.
OpenWRT
OpenWRT is an open-source router platform, but it also has a very good selection of SBCs. It’s not ideal, but in a pinch it can be made to work. Orange Pi has a good selection of boards here, but the One is not one of them.
Alma/Rocky Linux and CentOS
Both of the spinoffs of the remnants of CentOS have ARM support, but only for the Raspberry Pi. The same is true for CentOS itself, but CentOS seems to be pulling back even further, stripping more platforms away.
Fedora, Alpine, and other ARM supporting OSes
There are a bunch of other Linux distros that I’m sure have some capability of supporting ARM, but without a direct download link or an image for an SBC, it’s very hard to tell what’s actually supported and what’s not. For example, Fedora states that boards should be supported as long as the features are in Mainline Linux. The problem with that is the Allwinner H3 processor has a lot of stuff that isn’t. Alpine has a similar problem, where they provide a blob and expect you to figure it out yourself. I’m not even going to start with Gentoo, since I still have PTSD of that from college.
Basically, there are a lot of devices that could be supported, but there’s no indication that they are supported, and short of building your own OS, it requires either a time or a skill investment.
Hidden in the Deep
This leads to a very interesting problem, because I’m absolutely sure there are others out there, like Android builds or other Linux distros, but without knowing where to look, most of these are flying under the radar.
I chose the Orange Pi One because I knew I would find something for it out there, but there’s more than just that. Through my searching, I found minimal mention of the C.H.I.P., an ill-fated SBC from the now-defunct Next Thing Co.
I have found even fewer mentions of another SBC, the Udoo Quad, which has an item on Arch’s ARM page, but otherwise is basically absent from the internet. Udoo’s own wiki has links to SourceForge (Ubuntu 14.04 and Android 6.0.1), but that and the Arch link are it.
There are a lot of SBCs that have gone this route, but these are the ones I have available to point to. There are others that are starting to head this way, like the NanoPi M1 and CubieTruck, but these still have mainstream support from some of the main SBC OS distributions.
So what can be done?
There’s a project I want to create, but I don’t know how to start it. Basically, it’s a list of pages where images for an SBC can be found, from across the internet. Nothing fancy, just a static page that can be managed by git. The problem I’m having is that I’m not a web developer, nor am I that great at Git, nor have I managed an open-source project like this before.
I coined the project SBC Link, but other than that, I’m not really sure what to do with it.