diff --git a/src/freedombone-image-customise b/src/freedombone-image-customise
index 3e563aab7efae879f06cd9f698aadbf7cd366ba6..0fead70071d77be25b8f8a246cd928ea044245f3 100755
--- a/src/freedombone-image-customise
+++ b/src/freedombone-image-customise
@@ -338,6 +338,7 @@ chroot "$rootdir" apt-get install -y sudo git dialog toilet build-essential open
 chroot "$rootdir" apt-get install -y avahi-daemon avahi-utils avahi-discover avahi-autoipd
 chroot "$rootdir" apt-get install -y iptables dnsutils net-tools network-manager
 chroot "$rootdir" apt-get install -y libnss-mdns libnss-myhostname libnss-gw-name
+chroot "$rootdir" apt-get install -y u-boot-sunxi
 
 chroot "$rootdir" /bin/bash -x <<EOF
 git clone https://github.com/bashrc/freedombone /root/freedombone
diff --git a/src/freedombone-image-hardware-setup b/src/freedombone-image-hardware-setup
index dcce9fedb3f2b9f509fec6cf3db11d0f7f0763a6..de02474814a08f818222e78545fa3abc2b07bb22 100755
--- a/src/freedombone-image-hardware-setup
+++ b/src/freedombone-image-hardware-setup
@@ -140,7 +140,8 @@ cubieboard2_setup_boot() {
     initRd=initrd.img-$version
     vmlinuz=vmlinuz-$version
 
-    # boot.cmd for CubieTruck
+    # boot.cmd for Cubieboard2
+    # https://downloads.openwrt.org/chaos_calmer/15.05/sunxi/generic/uboot-sunxi-Cubieboard2/openwrt-sunxi-Cubieboard2-uEnv.txt
     cat >> /boot/boot.cmd <<EOF
 setenv mmcdev 0
 setenv mmcpart 1
@@ -154,9 +155,9 @@ setenv console ttyS0,115200n8
 setenv kernel_file $vmlinuz
 setenv initrd_file $initRd
 
-setenv loadaddr 0x46000000
-setenv initrd_addr 0x48000000
-setenv fdtaddr 0x47000000
+setenv loadaddr 0x41000000
+setenv initrd_addr 0x43000000
+setenv fdtaddr 0x42000000
 
 setenv initrd_high 0xffffffff
 setenv fdt_high 0xffffffff
@@ -171,10 +172,10 @@ setenv mmcargs setenv bootargs console=\${console} root=\${mmcroot} rootfstype=\
 run loadfiles; run mmcargs; bootz \${loadaddr} \${initrd_addr}:\${initrd_size} \${fdtaddr}
 EOF
 
-    # boot.scr for CubieTruck
+    # boot.scr for Cubieboard2
     mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
 
-    # DTBs for CubieTruck
+    # DTBs for Cubieboard2
     mkdir -p /boot/dtbs
     cp /usr/lib/$kernelVersion/* /boot/dtbs
 
diff --git a/src/freedombone-image-make b/src/freedombone-image-make
index 1823328d96a6fa0a72e0fe0b20c543a9e2483b1b..49086a8f3a33050540cc71b3d2923539a9b70aed 100755
--- a/src/freedombone-image-make
+++ b/src/freedombone-image-make
@@ -86,6 +86,19 @@ case "$MACHINE" in
  --roottype btrfs \
 "
     ;;
+    cubieboard2 | cubietruck | a20-olinuxino-lime2 | a20-olinuxino-micro)
+       extra_pkgs="$a20_pkgs"
+       extra_opts="\
+ --variant minbase \
+ --bootoffset=1mib \
+ --bootsize 128M \
+ --boottype vfat \
+ --no-kernel \
+ --no-extlinux \
+ --foreign /usr/bin/qemu-arm-static \
+ --roottype btrfs \
+"
+       ;;
     virtualbox)
     extra_opts="\
  --grub \