About the Reference Linaro Confectionary Release for Juno (Multi-arch 64-bit)
This Reference Linaro Confectionary Release is based on the Nougat
android-7.1.1_r28 branch. This build is a userdebug variant
build, which contains multi-arch support allowing full use of the
64-bit ARMv8-A architecture, supports both 64-bit and 32-bit
applications and has selinux enabled by default.
This build uses the Linaro ARM Landing team kernel which is
based on the Android flavour of Linaro Stable Kernel version 4.4.49,
and includes the ARM Mali drivers for 3D graphics acceleration,
UEFI support, and Energy Aware Scheduling(EAS) support.
The sources are built with AOSP LLVM 3.8 clang-2690385 (based on LLVM 3.8.256229),
and gcc 4.9 for both 64bit and 32bit.
To switch to permissive mode, pass “androidboot.selinux=permissive” as
the boot parameter in the UEFI bootargs configuration, or run
“setenforce 0” from command line as root user after booted.
The Android AOSP software provided in this release is functionally
tested with CTS version 7.1 R3 and the CTS results are shared with
members, some benchmarks were run to observe the performance trend
in various fields as well.
Sources are also made available so you can build your own images
(see the Building from Source tab).
What is new
- Android source updated to base on android-7.1.1_r28 version
- CTS package update to use 7.1 R3 version
Please check the changelog.txt for details to see what Linaro has done on top of AOSP android-7.1.1_r28.
About the Android flavour of Linaro Stable Kernel (LSK)
The kernel used by Linaro Confectionary Release is based on the Android
flavour of 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’).
Please use the firmware files from here, or extract the board_recovery_image.tar.bz2 file from the boot.tar.bz2 file listed above.
And then extract board_recovery_image.tar.bz2 and copy the contents to the board.
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 irc.freenode.net at #linaro-android
- Linaro Android ART IRC channel on irc.freenode.net at #linaro-art
- 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 email@example.com 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 were applied
to get Android booting to UI on the ARMv8-A Juno development platform.
These patches can be found on Linaro’s Android Git repositories via files:
Some of these patches have been submitted to AOSP and are being tracked
Any patches can be contributed through the instructions described Here
Known Issues and Limitations
- Lack of audio support may cause apps using audio to hang
- HDLCD is not well supported yet
- OpenCL support is not present at this time and will be enabled in a future release
- Gearses2eclair shows up poor graphics performance sometimes
The following known issues are present in this release. Please contact firstname.lastname@example.org 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 2627||Juno: home screen: display corruption on Android.|
|Bug 2251||LCR-R: Juno: benchmark: AndebenchPro-2015 failed to complete graphics test run|
|Bug 2206||varying-struct-arrays.shader_test fails on juno|
|Bug 1948||some codec tests fails on R-LCR 16.11 builds|
Accessing Source Code
Linaro Android Source Code
Download the Android building script linaro_android_build_cmds.sh for this build
from the list of artifacts listed above, and run it.
This script will help to download the entire source code for both Android and
the kernel and attempt to build it.
Most commonly used options for linaro_android_build_cmds.sh:
$ ./linaro_android_build_cmds.sh -h #To print the script usage $ ./linaro_android_build_cmds.sh -t #To build from the tip of the branch without overlay $ ./linaro_android_build_cmds.sh -t -o <overlay> #To build from the tip of the branch with provided overlay $ ./linaro_android_build_cmds.sh -m <pinned_manifest> -o <overlay> #To reproduce an exact build from pinned manifest $ ./linaro_android_build_cmds.sh -t -u <url-aosp-mirror-manifest> #Provide the url to your AOSP mirror manifest
The pinned manifest(pinned-manifest.xml(?) and source manifest(source-manifest.xml) can be found from the list of artifacts
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
- Run the script
Build from the tip of the source:
chmod a+x linaro_android_build_cmds.sh ./linaro_android_build_cmds.sh -t or ./linaro_android_build_cmds.sh -t -u <url-aosp-mirror-manifest>
Or reproduce the exactly the same as this buid:
chmod a+x linaro_android_build_cmds.sh ./linaro_android_build_cmds.sh -m pinned-manifest.xml or ./linaro_android_build_cmds.sh -m pinned-manifest.xml -u <url-aosp-mirror-manifest>
Installing Android on your board
cd android/out/target/product/juno sudo linaro-android-media-create --mmc /dev/sdX --dev vexpress --boot boot.tar.bz2 --system system.tar.bz2 --userdata userdata.tar.bz2
Insert the USB drive into your board and reboot it. You must configure UEFI each time you create a new disk image.