NameLast modifiedSizeLicense

Parent Directory Parent Directory
other MANIFEST 11-Jan-2018 16:39 270 open
other MD5SUMS 11-Jan-2018 16:39 285 open
application/x-tar boot.tar.bz2 11-Jan-2018 16:39 6.8M open
text installed-files.txt 11-Jan-2018 16:39 188.1K open
other kernel_config 11-Jan-2018 16:39 67.0K open
application/x-sh 11-Jan-2018 16:39 8.7K open
text pinned-manifest.xml 11-Jan-2018 16:39 90.8K open
other ramdisk.img 11-Jan-2018 16:39 687.9K open
text source-manifest.xml 11-Jan-2018 16:39 48.9K open
other system.img 26-Feb-2018 11:07 750.0M open
application/x-tar system.tar.bz2 26-Feb-2018 11:08 194.4M open
other userdata.img 26-Feb-2018 11:08 550.0M open
application/x-tar userdata.tar.bz2 26-Feb-2018 11:08 50.7M open
other vexpress.img.bz2 26-Feb-2018 11:08 252.4M open

About the Reference Linaro Confectionary Release for Versatile Express (Aarch32)

This Reference Linaro Confectionary Release is based on the AOSP Lollipop
Android-5.1.1_r8 version. This build is a userdebug variant
build, and it contains support allowing full use of the 32-bit ARMv7-A
architecture and supports the 32-bit applications, with SELinux
enabled by default.

The release uses the Linaro Stable Kernel version 3.10. The sources are
built using Linaro GCC 4.9-2015.06. To disable SELinux pass “selinux=0”
as the boot parameter in the UEFI bootargs configuration.

The Android AOSP software provided in this release is functionally
tested with CTS version 5.1 R2 and the CTS results are shared with
members. The BIONIC component is additionally validated with Android
BIONIC tests. We also added some benchmark tests to observe the performance
trend in various fields.

Sources are also made available so you can build your own images
(see the Building from Source tab).

What is new

  • Android source changed to based on the Lollipop Android-5.1.1_r8 version
  • Toolchain updated to use GCC version 4.9-2015.06
  • CTS package updated to use version 5.1 R2

About the Android flavour of Linaro Stable Kernel (LSK)

The kernel used by Linaro Confectionary Release for Versatile Express
is the Android flavour Linaro Stable Kernel (LSK), which is produced,
validated and released by Linaro and is based on the Linux stable
kernel tree.
The LSK focuses on quality and stability and is therefore a great
foundation for product development. It also includes backports of
commonly desired features, provided they meet the quality requirements,
and also any bug fixes.

Sources are also made available so you can build your own images (see
‘Building from Source’).


Subscribe to the important Linaro mailing lists and join our IRC
channels to stay on top of Linaro development.

  • Linaro Android Development ‘Mailing list’
  • Linaro Android IRC channel on at #linaro-android
  • Bug reports should be filed in ‘Bugzilla’ under “Linaro Android” product and “Reference Linaro Confectionery Release (R-LCR)” component.
    • You will need to login to your Linaro account. If you do not have an account or are having problems, email for help.
  • More general bug reports should be filed in Bugzilla against the individual packages that are affected.
  • Questions? ‘ask linaro’
  • Interested in commercial support? inquire at ‘Linaro Support’

Android Patch Summary

There are patches developed by ARM and Linaro engineering
teams applied to get Android booting to UI on the TC2 Aarch32
development platform. These patches can be found on Linaro’s Android
Git repositories via file LOLLIPOP-MLCR-PATCHSET.
Some of these patches have been submitted to AOSP and are being tracked
for acceptance.

Any patches can be contributed through the instructions described Here

Known Issues and Limitations

Known limitations

  • SW rendering for user interface only – there is no hardware accelerated graphics

Known issues

The following known issues are present in this release. Please contact if you wish to know more information about these issues or have access problems when attempting to view them.

Bug ID Bug title Bug summary
Bug 1581 Browser crash when opening youtube main page unhandled input address range fault from android.browser package
Bug 1492 android.bionic.string@strncat FAIL One of our Bionic string routines optimizations seems to violate strict POSIX rules – we are not filling with zeros the remaining unused part of the string. Currently considered WONTFIX.
Bug 1015 monkey long run test fails on Juno/TC2 LCR build java.lang.NumberFormatException from package
Bug 993 EVDEV failures in linaro android kernel test suite on 14.12 LCR build Few EVDEV tests have always been failing for us
Bug 795 Failing multimedia codec tests Codecs give different bitstreams on ARMv8 and ARMv7 platforms and tests matching against exact checksums fail.
Bug 222 Dev Tools crashes on startup Dev Tools app fails to instantiate class from /system/app/Development.apk
Bug 64 Test test_pthread_rwlock from bionic libc test suite fails on Juno build – LAVA
Bug 23 backtrace_test reports failures on 64/64 build Failures reported with local trace and threads

Get artifacts

Click on each link to download:

  • boot.tar.bz2
  • system.tar.bz2
  • userdata.tar.bz2

Get linaro image tools

Run these commands to get all the dependencies for linaro-image-tools and the tip of linaro-image-tools

  $ sudo add-apt-repository ppa:linaro-maintainers/tools
  $ sudo apt-get update
  $ sudo apt-get install linaro-image-tools

If you’re using a “tip” build then we suggest you use the tip of linaro-image-tools from

Create media (SD card) Create mmc image:

$ linaro-android-media-create --mmc /dev/sdX --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2

If you’re using tip of linaro image tools

$ ./linaro-image-tools/linaro-android-media-create --mmc /dev/sdX --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2

Remove the SD card from the device writer and plug it into the board.

Check console output

Plug in an USB-to-serial converter and run minicom

$ minicom -D /dev/ttyUSB0 -w -C minicom.txt

Configure the boot time UEFI configuration

Stop at UEFI prompt and configure the UEFI options like this:

ARM Versatile Express Boot Monitor
Version: V5.1.9
Build Date: Dec 3 2012
Daughterboard Site 1: V2P-CA15_A7 Cortex A7
Daughterboard Site 2: Not Used
Running boot script from flash – BOOTSCRIPT
UEFI firmware (version built at 16:18:48 on May 26 2015)
[=3h[=3h[=3h[=3h[=3h[=3h[=3h[=3hThe default boot selection will start in 10 seconds
[1] Linaro image on SD card – VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(1,MBR,0×00000000,0×3F,0×19FC0)/uImage – Initrd: VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(1,MBR,0×00000000,0×3F,0×19FC0)/uInitrd – Arguments: console=ttyAMA0,38400n8 rootwait root=/dev/mmcblk0p2 – FDT: VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(1,MBR,0×00000000,0×3F,0×19FC0)/v2p-ca15-tc2.dtb – LoaderType: Linux kernel with Local FDT
Global FDT Config – VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(1,MBR,0×00000000,0×3F,0×19FC0)/v2p-ca15-tc2.dtb
[a] Boot Manager
[b] Shell
© Reboot
[d] Shutdown
Start: a
[1] Add Boot Device Entry
[2] Update Boot Device Entry
[3] Remove Boot Device Entry
[4] Update FDT path
[5] Return to main menu
Choice: 3
[1] Linaro image on SD card
Delete entry: 1
[1] Add Boot Device Entry
[2] Update Boot Device Entry
[3] Remove Boot Device Entry
[4] Update FDT path
[5] Return to main menu
Choice: 1
[1] boot (67 MB)
[2] testboot (99 MB)
[3] (6984 MB)
[4] VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)
[5] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
[6] VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)
[7] VenHw(CC2CBF29-1498-4CDD-8171-F8B6B41D0909)
[8] PXE on MAC Address: 00:02:F7:00:47:35
[9] TFTP on MAC Address: 00:02:F7:00:47:35
Select the Boot Device: 2
File path of the EFI Application or the kernel: kernel
Boot Type: [a] ATAGS, [g] Global FDT or [l] Local FDT? [a/g/l] l
Add an initrd: [y/n] y
File path of the initrd: ramdisk.img
Arguments to pass to the binary: console=tty0 console=ttyAMA0,38400n8 root=/dev/sda1 rootwait ro androidboot.console=ttyAMA0
File path of the local FDT: v2p-ca15-tc2.dtb
Description for this new Entry: LAVA Android Test Image
[1] Add Boot Device Entry
[2] Update Boot Device Entry
[3] Remove Boot Device Entry
[4] Update FDT path
[5] Return to main menu
Choice: 5
[1] LAVA Android Test Image – VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(3,MBR,0×00000000,0×200000,0×32000)/kernel – Initrd: VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(3,MBR,0×00000000,0×200000,0×32000)/ramdisk.img – Arguments: console=tty0 console=ttyAMA0,38400n8 root=/dev/sda1 rootwait ro androidboot.console=ttyAMA0 – FDT: VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(3,MBR,0×00000000,0×200000,0×32000)/v2p-ca15-tc2.dtb – LoaderType: Linux kernel with Local FDT
Global FDT Config – VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(1,MBR,0×00000000,0×3F,0×19FC0)/v2p-ca15-tc2.dtb
———————————- [a] Boot Manager [b] Shell © Reboot [d] Shutdown
Start: 1 PEI 3681 ms DXE 17857 ms BDS 15299 ms
Total Time = 36837 ms

[ 0.000000] Booting Linux on physical CPU 0×100
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.74-00126-g14cdcbf (buildslave@x86-64-07-android) (gcc version 4.9.3 20150413 (prerelease) (Linaro GCC Snapshot 4.9-2015.04) ) #1 SMP PREEMPT Tue May 26 16:04:17 CEST 2015

Accessing Source Code

Linaro Android Source Code

Run the script, it will download the entire source code for both Android and the kernel and attempt to build it.

The pinned and source manifests can be found here:

Compiling Linaro Android RootFS+Kernel

The following simple steps download, install and compile a complete Linaro Android distribution

  • Download and install Ubuntu 14.04 64 bit or newer (download)
  • Download the Android building script for this build from the list of artifacts listed above or here
  • Run the script

The script will download the source and create the build.:

chmod a+x
./ -h  #To print the script usage

Most commonly used build options:

$ -o $PWD/vendor.tar.bz2 -m pinned-manifest.xml
$ -t #To build from the tip of the branch without overlay
$ -t -o <overlay> #To build from the tip of the branch with provided overlay
$ -m <pinned_manifest> -o <overlay> #To reproduce an exact build from pinned manifest
$ -t -l <login-id> #Provide login/access ID to clone and build code from linaro-private repositories

If the completely, you will find the boot.tar.bz2, system.tar.bz2 and userdata.tar.bz2 3 files
under ./android/out/target/product/vexpress directory, please use these 3 file to bood your board.

You can reference to the Binary Image Installation tab for detail instructions.