Cubieboard – first impression

Would I recommend Cubieboard

No, probably not.

Having one of these reminds me of the early days of the IBM-PC; except these are cheap and the early PCs cost a small fortune. What is the same is that you could spend a lot of time on it and almost but not quite achieve what you set out to do.

The main linux image for Cubieboard V1 NAND seems to be a Linaro file based on Ubuntu Quantal, which is out of support and missing bits.

This time around

Cubieboard V1I was looking for a small low-power board that could be used as a mail server. Something with a SATA port would be good, established and readily available. The Cubieboard seemed to be the only one that was reasonably priced, available and had a SATA port.

There are currently 3 versions of the Cubieboard, V1, V2 and Cubietruck or V3. IMO the Cubietruck is too expensive for what it is and has features I don’t need. The Difference between V1 and V2 is realy just the CPU, A10 (single-core) or A20 (dual-core). The A10 was cheaper and more readily available at the time. So I ordered two V1 A10 boards.

I had a spare 64GB SSD and just needed to come up with a 5V power supply.

Why not a Raspberry PI

The R-Pi has a huge following and is great for tinkering, but I don’t like the way it connects ethernet and USB (all the major comms) to the CPU through a USB interface. Possibly a good media player, but not such a good server. The R-Pi has been around for a while now and there is much better server hardware available at a similar price. I’ve had a R-Pi server running for some time and it has not been reliable long term; locking up occasionally.

A significant advantage of the R-Pi over the other newer low-cost ARM hardware is that more stuff actually works first time on the R-Pi. The newer ARM SOC Android hardware is changing so fast that it seems rare that anything gets finished. See below.

Android or Linux

The Cubieboard is supplied with Android in 4GB of NAND-Flash. I don’t see the point of using a phone OS in a device that has a proper keyboard, mouse and large screen. In anything larger than a phone or tablet, Android is IMO a major PITA. I don’t see it being useful as a server either. It runs Android apps on a touch screen.

So, definitely not Android. Looking at the main Cubieboard web site showed server and desktop versions of Linaro. But wait, the server version is gone, a dead link, so I downloaded the desktop version for NAND.

All good questions

One of the big first problems is choosing a Distro to install. There are usually a few to choose from; many of which are probably just minor reconfigurations of others. Which one is current, being developed and provides useful support. I think many are weekend projects by a single person. What happens when they loose interest or move on to a new project. Which distro will work now and will still work in a year or more.

I get the feeling that there won’t be any updated official support for the V1 board. At this stage I don’t know what’s involved in building a updated image. I suspect it’s not that difficult once you work through and find out exactly what’s needed and how it works.

IMO, the makers or originators of boards like the Cubieboard have a responsibility to address these questions, even if they simply discuss them on their main web site. Here’s a board, here’s how to make it go, we will support it for 2 years. Or, here’s a a board, you’re on your own.

Some general information and Links

  • Sunxi : here. Technical info and support relating to the ARM SOIC Allwinner chips. A10 Cubieboard.
  • Bootable OS Images : here. and here.
  • Cubie Server on V2 A20 cubieboard : here.

Flashing the Nand

The next problem is re-flashing an Android device. The available tools really suck. I downloaded the PhoenixSuit (PS) from the Cubieboard site and put it on my old XP laptop (the only Windows I have). I had to go to Linux to extract the tools and the Linaro image file.

Livesuit for Linux is suggested as being for 64bit. So I won’t go there at the moment.

PS is a fancy looking GUI program; far more flash than function. Windows did lots of complaining about USB, drivers and unknown devices, or some such crap. Installing the drivers that came with PS solved the USB issues, but it had to be plugged into the same USB port each time and could not be via a powered hub. Luckily the laptop USB port can power the Cubieboard.

Flashing the NAND is not what you’d expect. Before plugging in the Cubieboard, choose the image file and select flash. Then plug it in while holding the little button under the USB connector (boot-mode). Click OK through the error messages and you eventually get to a small window asking if you want to format. I found that selecting NO, and the re-flash failed part way through. YES seemed to work every time. Takes almost 4 minutes to complete, at which point the green LED is on and the blue LED pulses. Done.

Running Linaro from NAND

Pretty much as expected. User = linaro, password = linaro. You can connect a HDMI monitor, keyboard and mouse and you have a basic desktop Linux. It connects DHCP to my router and I can SSH in from another Linux machine (terminal).

There are a few problems. The locale is not set correctly and this causes error messages at various times and a “sudo-apt-get update” reports a bunch of missing repositories; likely due to the Ubuntu version being out of support. The locale issue is easily fixed.

The missing repositories needs looking at. i tried adding precise to the sources list, updating and then removing (#) quantal from the list and updating again. Probably not the best thing to do but it’s stopped complaining and MC now installs and works. I’ll have to test other installs.

I have a series of poorly organized notes here.

LAMP Install

LAMP = Linux, Apache, Mysql, PHP. This is the guts of a server. Apache is the web server, Mysql is a database manager and PHP is a programming language used by web apps etc.

I tried following various sets of LAMP install instructions. Generally it’s not that difficult, assuming what you are working with actually works. I got the basic Linario install sorted out and then got the L, A and P installed and working pretty easily. M was where it all stopped; mysql. How much time to spend on this and when to give up, is the big question.

Mysql installed most of the way through then got stuck in a startup-abort loop, probably due to not being able to connect to a socket because /var/run/mysqld/mysqld.soc was missing. I re-flashed the Cubieboard several times, tested various combinations and spent many hours with Mr Google looking for information; but this is not a common Linux problem. Most references date back 5-6 years and the solutions suggested didn’t work; I suspect due to the cause being different.

Power Supply

Cubieboard V1As I wanted to run it off a 12-24V DC supply I configured a 2 Amp switching step-down regulator and wired it directly to the Cubieboard, behind the power connector. At 12V into the regulator  the Cubieboard and SSD draw less than 500mA average. The switch-mode regulator is modified to fix the output voltage at 5V. It accepts an input range of about 8V-30V DC.

Conclusion – for now

This ARM based Android-to-Linux stuff “almost works” and is “almost useful”.

If you want to spend a huge amount of time and effort working your way through, you probably can get it going. The information provided on-line is generally limited, incomplete or just faulty, and not suited to beginners. You need to spend a lot of time sorting out the useful information and combining all the pieces to make any progress. This is OK if that’s what you want. It’s where Raspberry Pi wins greatly over Cubieboard, Beaglebone etc.  They have much better basic information that is better presented.

It’s the price you pay for not going main stream X86. I get the impression that this Linux development and support for ARM is mostly done by hobbyists who are more interested in spending a few weeks playing with the latest board than actually getting anything finished and working. Most of the effort seems to be around media and possibly games; Explains the constant moving to more powerful CPUs  and boards. At least they are working on it.

The main Cubieboard web site has a statement below the picture of a new A80 Cubietruck board that says:

“We have always had a dream to spread the open source Linux system to millions of households”

Really… They don’t stand a chance unless they get the basic tools sorted out and stick with a design at least until it’s fully supported and operational.

The Linaro server images missing is not a good sign, suggesting that they are no longer supporting the V1 and possibly the V2 boards. Cubietruck seems to be the main focus, but for how long?

And the title image is, well…. what does this mean: Let’s get start to know with the Cubieboard now”.

Update, 07-December-2014 :

I still believe the V1 A10 Cubieboard is a great piece of hardware and could be a Raspberry Pi killer. But there is still no obvious support and therefore it’s not much more useful than a sinking boat.

I have ordered a Cubieboard V2, the A20 dual-core version. Not because I need the extra performance, but because support and information relating to the V1 A10 board is so poor.

I also checked back with the main Cubieboard site. Lots of new hardware announcements, but still no useful support info for the V1 board and still broken links. A very poor effort.

Update, 25-July-2016 :

Almost 2 years on, I still have the Cubieboard V2 running a mail server.  It has been very reliable.

The V1 A10 and V2 A20 Cubieboards could still be very useful pieces of hardware.  The Raspberry Pi has come a long way in the last couple of years – but still has that stupid USB bridge connecting the main data channels to the CPU.

The Cubieboard web links have been up and down for a while now so I am disconnecting them at this end.

There are now many more hardware choices available. Unfortunately still few with a SATA port.

Leave a comment