Configuring a build environment for the Olinuxino-A20-micro

WARNING: Do NOT use these instructions, as they broke some time ago.

Please see my updated instructions for building on Ubuntu Mate 16.04.1 here.


I have been playing around quite a bit with my OlinuXino-A20-Micro lately. Quite a nice little thing! Figured since I spend so much time getting my build environment for android working correctly that it could be useful for other people.

In the past I used Ubuntu 12.04.5 LTS as a build OS but recently moved to Ubuntu Mate 14.04.2 LTS. I have provided the instructions for both OSes.

Note: You need the 64 bits version of the OS in either case

I broke it all down in 10 easy step for my and everyone else’s pleasure.

These instructions assume you have already downloaded and extracted one of the A20 SDK for the Olinuxino-A20 (list below).


Kernel, Android 4.2.2 (link) ** Won’t build or boot without modifications **

Original Allwinner SDK2.0, No modifications

axonjakarta (aka dave-at-axon):
Kernel, Android 4.2.2, (link) ** Preferred **


DS1307 i2c RTC, Huawei RIL, Fusion F07A-0102 Touchscreen (How to revert – Read the comments)

1) Install the OS

Install the version of the OS you selected, all the updates and reboot as asked before continuing.

2) Install Oracle Java JRE 6

sudo add-apt-repository ppa:webupd8team/java && sudo apt-get update && sudo apt-get install oracle-java6-installer

3) Install required packages (after all updates are installed)

For Ubuntu 12.04.3 LTS (Tested Oct. 2015)

sudo apt-get install libglapi-mesa:i386

sudo apt-get install git gnupg flex bison gperf build-essential \
zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
libx11-dev:i386 libreadline6-dev:i386 gettext \
libgl1-mesa-dev g++-multilib mingw32 tofrodos \
python-markdown libxml2-utils xsltproc zlib1g-dev:i386 \

sudo apt-get install lib32ncurses5-dev

Note: Untested, but this should work to install adb on 12.04.3:

sudo add-apt-repository ppa:nilarimogard/webupd8 && sudo apt-get update && sudo apt-get install android-tools-adb

For Ubuntu Mate 14.04.2 LTS (Tested Nov. 2015)

sudo apt-get install libghc-bzlib-dev

sudo apt-get install git ccache lzop libglapi-mesa:i386 libgl1-mesa-dri:i386 flex bison gperf curl zlib1g-dev zlib1g-dev:i386 lib32bz2-1.0 lib32ncurses5-dev x11proto-core-dev libx11-dev:i386 libreadline6-dev:i386 lib32z1-dev libgl1-mesa-glx:i386 libgl1-mesa-dev mingw32 tofrodos python-markdown libxml2-utils xsltproc libreadline6-dev lib32readline-gplv2-dev libncurses5-dev lib32bz2-dev squashfs-tools pngcrush schedtool dkms android-tools-adb u-boot-tools libswitch-perl

sudo apt-get install build-essential g++ g++-multilib gcc-multilib

In both cases do:
sudo ln -s /usr/lib/i386-linux-gnu/mesa/ /usr/lib/i386-linux-gnu/

4) Install Repo
curl > ~/Bin/repo && chmod a+x ~/Bin/repo

Note: I install repo in ~/Bin instead of ~/bin like proposed by google for one simple reason; LiveSuit installs itself to ~/Bin anyway.

5) Install Livesuit 3.06 (download)

a) Extract Zip file

b) *** IN TERMINAL *** from the folder you extracted the zip file to, run:

chmod +x &&

6) Add required paths to your .bashrc file

Note: Change those examples to reflect the location on your computer, ie. where you extracted the SDK


7) Configure ADB user access
Add the following lines to the 51-android_adb.rules file in /etc/udev/rules.d:
(sudo nano /etc/udev/rules.d/51-android_adb.rules)

# Google / Generic
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"

8) Configure LiveSuit user access
Add the following lines to the 50-LiveSuit.rules file in /etc/udev/rules.d:
(sudo nano /etc/udev/rules.d/50-LiveSuit.rules)

# LiveSuit user access
KERNEL=="aw_efex[0-9]*", MODE="0666"

9) Reload udev rules to enable LiveSuit and adb user access 

sudo udevadm control --reload-rules

10) Build

Instructions here

This entry was posted in A20. Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s