I’ve received another cool board this week with the Cubieboard development board. As a quick reminder, the Cubieboard is the only proper low cost AllWinner A10 development board available, and comes with 512MB/1GB RAM, 4GB NAND Flash, 10/100 MBit Ethernet, HDMI output, 2x USB Host port, 1x USB OTG port, a microSD socket, a SATA interface, an IR sensor and 2 headers to access extra pins such as GPIOs, I2C, SPI,VGA pins, CVBS pins etc…
CubieTech had a successful Indiegogo campaign where the 1GB board was available for $59 including worldwide shipping (and as low as $19 for early birds), and you can now buy it from resellers. [Update: It’s now available with several cables, USB to TTL debug board, and an enclosure for $80 on dx.com]
The board comes with a SATA cable and a USB cable for power. There’s no power supply so you’ll need you own, either using the USB cable provided, or a standard USB power supply connected to the USB OTG port.
Most of the components are at the top of the board.
But the 2 expansion headers are soldered on the back, as well as the line-in connector, the Ethernet PHY and the 4G NAND flash.
The board is slightly bigger than the Raspberry Pi, but provides much more features, and the 4 mounting holes may also be convenient if you intend to use a casing. The features of the Cubieboard are very similar to the Mele A1000, and it just lacks the casing, remote control and the Wi-Fi module. Composite, VGA & SPDIF outputs are also missing, but those can also be added via the expansion header.
If you prefer unboxing videos, watch haritot video (8 minutes). His kit also includes a transparent casing.
First, connect USB keyboard & mouse, an Ethernet cable, an HDMI cable and finally the power supply to boot the board. I used the USB power supply that came with my Raspberry Pi. My board NAND flash came pre-loaded with CyanogenMod with Android 4.0.4 and Kernel 3.0.42+, so after a few seconds it booted in Android. You then just need to go to Settings->Ethernet to enable Ethernet and get an IP address assuming your LAN has a DHCP server. At this point, you are good to go and do whatever you want with the board in Android.
However, I assume most people actually plan to run Linux on this board. Maxnet’s BerryBoot makes this very easy, and there are 2 methods.
- Within Android – If you have Android running in your Cubieboard, install the APK from http://get.berryboot.com/, and follow the instructions in BerryBoot Android to install Linux in a microSD card.
- From a Windows or Linux PC – See instructions below.
I mainly followed the instructions provided on Cubieboard.org to install Linaro Ubuntu ALIP 12.08 on a microSD card.
- Insert a microSD card to your computer (preferrably 4GB or higher).
- Download “Berryboot-cubieboard-beta1.zip” from http://www.berryterminal.com/doku.php/berryboot_a10 and extract it.
- “Burn” the image in the microSD card
- In Windows
- Download “win32diskimager-binary.zip” from https://launchpad.net/win32-image-writer/+download
- Run Win32DiskImager.exe
- Select “Berryboot-cubieboard-beta1.ddimg” file
- Verify that correct disk drive is selected. This is very important. On my system, Win32DiskImager.exe selects my external USB hard drive by default…
- Write the file to the microSD card
- In Linux
- Open a terminal window, and type:
1sudo dd if=Berryboot-cubieboard-beta1.ddimg of=/dev/sdX
where /dev/sdX corresponds to your SD card.
- You’re done.
- Open a terminal window, and type:
- In Windows
- Insert the microSD card into the Cubieboard, and power on the board.
- Follow the instructions provided in BerryBoot user interface.
- Select the media device where to install the Linux distribution. In my case, I had 2 choices: mmcblk0 or networked storage (iSCSI SAN).
I’m not sure what the second choice does(NAS Boot, See Max’s comment), and selected the microSD card. (mmcblk0)
At this stage, it may tell you a new version is available, and ask you to download it. I did just that, but nothing changed after reboot, and asked me again to download the latest version. So you can safely say “No”.
- Select a Linux distribution from the list.
- Linaro Ubuntu ALIP 2012.08 (268 MB)
- Debian Wheezy Raspbian 2012.09 (430 MB)
- OpenELEC r11791 (71 MB)
- Puppy Linux Alpha (123 MB)
- RaspRazor (624 MB) – Distribution with Qt/Razor 0.4.9 desktop
- Sugar OS (473 MB) – Education OS as used in OLPC Laptop
- LTSP Thinclient Berry Terminal (22 MB) – Thin client OS to connect to LTSP/Edubuntu server
- BerryWebServer (5MB) – Distribution with Lightppd, php 5.3 & SQLite
- Memtester (<1MB) – Program to test the memory
- After selection (I chose Linao ALIP), BerryBoot will download the image, and install it in your chosen storage device.
- Once the installation is complete, exit the BerryBoot installer to reboot the board, and start your newly installed Linux operating system.
If you want to use/test the latest kernel and bootloader, you can get the Cubieboard hardware pack from the “nightly” builds at http://dl.linux-sunxi.org/amery/sunxi-3.0/latest/. You need to use sunxi-media-create.sh, and the instructions are the same as for a1x-media-create.sh. If you want to keep your existing rootfs, and just update the U-Boot, the kernel, kernel modules and binary libraries, simply run something like:
./sunxi-media-create.sh /dev/sdX cubieboard_hwpack.tar.xz norootfs
Alternatively, you may also want to build your own kernel (and u-boot) for the Cubieboard, which you can do by following the first steps instructions on sunxi-linux.org.
You can get hardware and software support on Cubieboard Google Group or on #cubieboard IRC channel. However, if you are “playing” around with the kernel or u-boot source code or find bugs, you may prefer to contact sunxi-linux mailing-list which is more geared towards development (most patches go through this list before behind merged).