Skip to content
This repository has been archived by the owner. It is now read-only.
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Building Cubieboard (ARM) Images

Based on by Ian Campbell (@ijc25).

Building Base Image

To create the builder, clone repos, build u-boot and Linux, and construct disk image:

git clone
cd xen-arm-builder

make prepare # clones repos, pulls tarballs
make build   # use the Docker image to build the `linux/` and `u-boot/` trees
make image   # finally, create the on-disk `sdcard.img`
# ...or `make all`

By default TARGET=Cubieboard2; prefix each command above with TARGET=Cubietruck to build for that. Other targets are available but have not been tested.

Then, on OSX, to push the created sdcard.img to a physically mounted SD card:

make sdcard # ...runs `find-mnt` target to determine, on OSX, SD card mountpoint

After creating the SD card with the base image, you need to insert it into the device, power on, and complete the installation.

First Boot / (Re-)Initialisation

First, choose a new MAC address for the board. You can use randmac to generate a valid local MAC address.

Then, insert SD card into the Cubie, attach serial dongle (or screen and keyboard) and boot. Press any key to interrupt boot and (re-)initialise environment (replace xx:xx:xx:xx:xx:xx with the MAC address generated above) with:

=> env default -f -a
## Resetting to default environment
=> setenv ethaddr "xx:xx:xx:xx:xx:xx"
=> setenv localcmd run scan_dev_for_scripts
=> saveenv
Saving Environment to MMC...
Writing to MMC(0)... done
=> reset

Base Install

After Alpine boots, login (root, no passwd) and setup:


Configure the desired keyboard layout, locale, hostname, and so on; the defaults for most things are fine. This will store config in mmcblk0p1, the FAT partition that was created during make image.

When complete, upgrade packages, setup networking, and enable root login over ssh by running:


Note that this will reboot at this end, but Xen hasn't yet been configured. After rebooting into Alpine, configure dom0:

ifconfig br0 promisc
lbu ci

You should now have an SD card that will boot your device into an Alpine Linux dom0 on Xen. Access via ssh should also work so switch from serial to ssh root@$HOSTNAME.local. To configure passwordless login using keys, login and then:

mkdir -m 0700 /root/.ssh
cat >>/root/.ssh/authorized_keys <<EOF
chmod 600 /root/.ssh/authorized_keys
lbu include /root/.ssh/authorized_keys
lbu ci

Building Xen Guests


Create the guest partition, and then boot the domU in the usual way:

xl create -c /etc/xen/alpine.cfg

Finally, configure as usual by running setup-alpine in the domU.


Similarly, create the guest partition, and then boot the domU in the usual way:

xl create -c /etc/xen/debian.cfg


Archived - the Xen and ARM support in MirageOS has been superseeded by our PVH support - Build an SDcard image for Xen/ARM, for a Cubieboard




No packages published