Configuring an Android build environment for A20 with Ubuntu Mate 16.04

Hi !

I recently updated my machines to Ubuntu Mate 16.04.1 (x64) so here is the configuration required to successfully build the A20 SDK.

I broke it all down in 11 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).

SDKs:

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

Original Allwinner SDK2.0, No modifications

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

Modifications:

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)

sudo apt-get install git ccache automake lzop bison gperf build-essential zip curl zlib1g-dev zlib1g-dev:i386 g++-multilib python-networkx libxml2-utils bzip2 libbz2-dev libbz2-1.0 libghc-bzlib-dev squashfs-tools pngcrush schedtool dpkg-dev liblz4-tool make optipng maven u-boot-tools flex xsltproc libswitch-perl android-tools-adb lib32ncurses5

4) Revert ‘make’ version

Compiling older android versions requires make version 3.82 but the included make version is 4.1 with the new version of the OS. Here are the instruction to revert make version back to version 3.82.

Please note that I am unaware of any consequences at the time of writing but I cannot guarantee that it won’t cause any issues.

a) Download make version 3.82 from http://ftp.gnu.org/gnu/make/

b) Extract the archive and using the terminal, get into the folder

c) Run the following command :   ./configure

d) Run the following command :   ./build

e) Make a backup of the current ‘make’ version:   cd /usr/bin && sudo cp make make-4.1

f) Get back to the newly build make 3.82 folder

g) Copy it to the proper location sudo cp make /usr/bin

h) Confirm that the process was successful by running: make --version

5) Install Repo (optional)
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/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.

6) Install Livesuit 3.06 (download)

a) Extract Zip file

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

chmod +x LiveSuit.run && LiveSuit.run

7) Add required paths to your .bashrc file

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

PATH=$PATH:$HOME/A20/android4.2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin
PATH=$PATH:$HOME/A20/android4.2/prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/
PATH=$PATH:~/Bin:~/Bin/LiveSuit

8) 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"

9) 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"

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

sudo udevadm control --reload-rules

11) Build

Instructions here

 

Advertisements
This entry was posted in A20. Bookmark the permalink.

Leave a Reply

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

WordPress.com Logo

You are commenting using your WordPress.com 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 )

Google+ photo

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

Connecting to %s