No mainline Linux kernel support? Be wary.

A few months ago, I bought a GlobalScale D2Plug—a solid-state, small-form-factor ARM plug computer. It comes out of the box with an old Ubuntu distribution, but by following some instructions I found online, I managed to get Debian stable installed on an SD card and working well.

More recently, I wanted to set up the D2Plug in a new application, for which I intended to upgrade to Debian unstable. It was then that I began to understand what was really going on with the D2Plug. As I discovered, support for the D2Plug’s hardware simply never made it into the mainline kernel.

As such, you’re stuck with an old kernel version, and dependence on Globalscale’s source tree.

I would not characterize the D2Plug as an expensive paperweight just yet. There is a kernel fork which aims to provide a modern kernel for the CuBox, a platform similar to the D2Plug, so there’s still some hope.

However, without a modern kernel, the D2Plug will indeed become an expensive paperweight soon. As distributions move to the 3.x kernel series (as many have already), it will become harder and harder to run modern software on the D2Plug. It is for this reason that I was ultimately unable to upgrade the D2Plug to Debian unstable.

Though there is a considerable amount of hype surrounding the Raspberry Pi (a similar, though considerably lower-specification ARM board), you may be surprised to find that it, too, lacks mainline kernel support as of this writing. Granted, the Raspberry Pi comes with a suitable OS image, and other distributions, like Raspbian, are now available, but it’s nothing like the x86 world where you can download a generic installer and have it work out-of-the-box.

Of course, some plug computers and other ARM devices do have mainline kernel support; this isn’t a condemnation of every ARM device out there. It’s also possible that the D2Plug will eventually get mainline kernel support, although that seems unlikely; the last attempt appears to have been in May 2011 when Greg Kroah-Hartman asked “What’s with the reliance on the 2.6.32 kernel tree? That is quite old now, has anyone done any forward porting of the code yet?”

Considering the Raspberry Pi’s popularity, it seems much more likely that it will get mainline kernel support, and I look forward to being able to run stock ARM builds of Linux distributions on the Pi, in which case I’d be much more likely to buy one. So long as it is dependent on custom builds, the risk is that it, too, could end up stuck on old distributions like the D2Plug is.