Cubieboard

The Cubieboard is a small (10x6cm), hacker friendly, extendable, and low-cost ARM board with the Allwinner A10 SoC. The board is set apart by offering SATA and an extended pin interface for low level access to the SOC.

cubieboard bootloader tarball

SD Card Creation

    At a minimum, you need to create the first partition on an SD card to store the bootloader files and kernel uImage. For the root filesystem you can choose to use either a second partition on the SD card, USB or SATA. This guide however only covers SD. Replace instances of /dev/mmcblkX with the appropriate device name registered on your system.
  1. Use fdisk to partition, then format the SD card. The first partition as 32MB FAT, the second as ext4. It is suggested that the first partition start after block 2048.
  2. Download the cubieboard bootloader tarball, and write the bootloader to disk
    wget http://archlinuxarm.org/os/sunxi/cubieboard-bootloader.tar.gz tar xzf cubieboard-bootloader.tar.gz dd if=cubieboard/sunxi-spl.bin of=/dev/mmcblkX bs=1024 seek=8 dd if=cubieboard/u-boot.bin of=/dev/mmcblkX bs=1024 seek=32
  3. Download the root filesystem tarball and extract it (as root, or sudo su) to the ext4 partition on the SD card. It is important to do this as root, as special files need to be created as part of the filesystem that can only be created by root. Then, copy the kernel uImage to the boot partition
    mkdir /tmp/boot mkdir /tmp/arch mount /dev/mmcblkXp1 /tmp/boot mount /dev/mmcblkXp2 /tmp/arch wget http://archlinuxarm.org/os/ArchLinuxARM-sun4i-latest.tar.gz bsdtar -xpf ArchLinuxARM-sun4i-latest.tar.gz -C /tmp/arch cp /tmp/arch/boot/uImage /tmp/boot/uImage
  4. Copy the compiled FEX and uEnv.txt to /boot
    cp cubieboard/cubieboard*.bin /tmp/boot/ cp cubieboard/uEnv.txt /tmp/boot/uEnv.txt
  5. Unmount the drive, insert into the cubieboard, and power it on.sync umount /dev/mmcblkX*

Creating a uEnv.txt

  1. Create a file called uEnv.txt, and place U-Boot environment in there. For example, from the bootloader tarball:
    boot_mmc=fatload mmc 0 0x43000000 ${fexfile}; fatload mmc 0 0x48000000 ${kernel}; bootm 0x48000000 extraargs=rootwait fexfile=cubieboard.bin
  2. Copy this file to the boot partition (/dev/mmcblk0p1)

Architecture

ARMv7l Cortex-A8

Processor

Allwinner A10 1GHz

RAM

1024MB

NAND

4096MB

SD

Micro SD

USB

2

SATA

1

Ethernet

10/100