[GTALUG] Cubox Dev Platform OS images?

Scott Sullivan scott at ss.org
Mon Dec 29 04:34:02 UTC 2014


On 12/16/2014 04:55 PM, Thomas Milne wrote:
> Hey sorry to bug you, I am unemployed again and in dire need of a
> project :-)
>
> If you have that image or if you know a way I could generate my own, I
> tried searching but everything now is about the Cubox-i.
>
> Solidrun might have an original image but I would really like to have
> Debian armhf which is I assume what you have installed?

Ah, I knew there was something bugging me.

Thomas, wanting a armhf port for the cubox is, to use a bit of 
hyperbole, like wanting an 64bit port for your i686. Allow me to set up 
some background information then explain.

Debian's armhf port is for ARMv7 instruction set hardware which mandated 
the inclusion of floating point hardware.
https://wiki.debian.org/ArmHardFloatPort

Debian's armel is for older arm instruction sets that where a floating 
point hardware was not mandatory in the chips.
https://wiki.debian.org/ArmEabiPort

Your Cubox uses a Marvell Kirkwood system on a chip (SoC). That SoC was 
base on a ARMv5 instruction set. As such it is supported by the armel 
port only. Much like 32bit intel hardware is only supported by the i386.

So, asking for armhf is inapporiate as your hardware can't run it. But 
the armel port should be keeping up todate with all the package updates 
just like i386 follows amd64. So I don't think your goal has change, 
which is get as modern a debian you can on the cubox. Just know you need 
to be looking at the armel port.


On that note, I found this little message outlining Mainline Kernel 
support for the cubox. The Marvel Kirkwood SoC has been well supported 
for many years now, and with the move to Device Tree the cubox can be 
supported with a far more generic kernel.

https://lkml.org/lkml/2014/5/26/562

A Device Tree is basically a listing handed to the kernel that tells it 
how the SoC may be uniquely wired to other devices on the circuit board. 
SoC, unlike intel computers, will multiplex function on their pins to 
allow device designers to pick and choose what functions they will use. 
It's part of why they can be put in such small form factor devices, at 
the cost of software complexity.

Specifically for you Thomas, you'll need to take an armel port of debian 
and the dts (Device Tree) for the cubox and combine them. Go hunting for 
information on other Marvell Kirkwood Devices for examples (the PogoPlug 
v2 and Dreamplug, being two examples I personally own).





Now just general information expanding on the armel vs armhf.


ARMv4, ARMv5 and ARMv6 hard was an interesting matrix of common 
capabilities due to the nature of optional phyical hardware blocks. The 
means there had to be some careful choices by the debain maintainers.

https://wiki.debian.org/ArmEabiPort#Choice_of_minimum_CPU


The gist of the above is that some devices CPU instruction will not be 
taken advantage of even if the SoC _does_ have the optional hardware. 
The greatest current example of this is the Raspberry Pi, an ARMv6 
device which does have floating point hardware. This meant that while 
the armel port will run on the Raspberry Pi's Broadcom SoC, it's not at 
full performance. The Raspbian Distro is a port of debian targeting the 
specifically available hardware in the Broadcom SoC for all the 
performance benefits that can bring.

-- 
Scott Sullivan


More information about the talk mailing list