NameLast modifiedSizeLicense

Parent Directory Parent Directory


About the Member Linaro Confectionary Release for Juno (Multi-arch 64-bit)

This Member Linaro Confectionary Release is based on the Nougat
android-7.1.1_r13 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.32,
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 R1 and the CTS results are shared with
members. We also added some benchmark test to observe the
performance trend in various fields. OP-TEE feature is tested with
xtest and various TAs provided from project optee_test

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_r13 version
  • CTS package update to use 7.1 R1 version
  • Firmware version updated
  • More boottime optimizatons added for this release
  • Updated sqlite to verions 3.16.2

ChangeLog

Please check the changelog.txt for details to see what Linaro has done on top of AOSP android-7.1.1_r13.

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’).

Support

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 “Member Linaro Confectionery Release (M-LCR)” component.
    • You will need to login to your Linaro account. If you do not have an account or are having problems, email its@linaro.org 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’

OP-TEE Enablement

OP-TEE enablement on kernel side:

The OP-TEE v12 patches for LSK4.4 have been applied for Juno kernel.
Please use the kernel from here or new versions.
Or you can cherry pick the OP-TEE patches from here manually.

OP-TEE usespace projects

Project URL Version
optee_client https://github.com/OP-TEE/optee_client 2.2.0
optee_test https://github.com/OP-TEE/optee_test 2.2.0
optee_os https://github.com/OP-TEE/optee_os 2.2.0

Firmware

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.

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:

Any patches can be contributed through the instructions described Here

Non-ART Optimizations

Gerrit ID/Commit ID Project Description
17143 bionic Don’t warn about DT_FLAGS_1 containing DF_1_PIE
17469 bionic Don’t reexport symbols removed from libgcc , for enabling gcc6.3
17480 frameworks/base -fno-strict-aliasing — gcc 6.3 finds more potential aliasing errors than 4.x
17168 frameworks/native Fix build in 32-bit ARMv8 mode for vulkan
297758 frameworks/av amrwb: disable sanitizer for fxp_mac_16by16
297759 frameworks/av avc enc: disable sanitizer for some functions
17146 build/soong Allow the compiler to generate FPU instructions
17154 bionic Set ARM_ARCH correctly for ARMv8 32bit builds
17015 build Add switch to control optimizing for size vs. speed setting
16260 bionic Cortex-A57 support for Bionic
17148 art Whitelist some more supported CPU types
15494 bionic Add optimized strcpy from cortex-strings
16286 external/android-clat Build android-clat with -fno-strict-aliasing
16311 hardware/qcom/media Work around aliasing rule violations
17016 system/core Disable ALOGD and ALOGI messages in OPTIMIZE_FOR_SIZE NDEBUG builds
765 external/zlib arm, arm64: ZLIB optimization using neon optimized copy
17165 external/libunwind_llvm Force -mcpu=cortex-a15 while building 32-bit libunwind on aarch64
16756 external/mksh hack workaourd to run builds on lava
17283 external/libjpeg-turbo patch to integrate tjbench

Boot Time Optimizations

Gerrit ID/Commit ID Project Description
17321 frameworks/base Delay starting of some Java based services.
17338 frameworks/base Move preloading classes to SystemServer.java and start it in background.
17461 frameworks/base Stop bootanim earlier
17404 system/netd move netd to class core
17406 system/core start zygote in post-fs-data
17409 device/linaro/juno init.juno.rc: set cpuset settings after boot completed
17479 system/core set to use all cpus for all cpusets
17443 device/linaro/juno juno: set cpu governor polciy after boot complete
16554 kernel/linaro/armlt linaro/configs/EAS.conf: hack, use performance as default governor policy

New Version External Projects

Project Version Git Branch
external/sqlite 3.16.2 https://android-git.linaro.org/gitweb/platform/external/sqlite.git linaro-upstream-3.16.2
external/giflib 5.1.4 https://android-git.linaro.org/gitweb/platform/external/giflib.git linaro-upstream-5.1.4
external/libpng 1.6.20 https://android-git.linaro.org/gitweb/platform/external/libpng.git c7ef7361311966304711b45ce62363991b068682
external/harfbuzz_ng 0.9.41 https://android-git.linaro.org/gitweb/platform/external/harfbuzz_ng.git linaro-upstream-0.9.41
external/fio 2.8 https://android-git.linaro.org/gitweb/platform/external/fio.git linaro-upstream-2.8

Known Issues and Limitations

Known 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

Known issues

The following known issues are present in this release. Please contact support@linaro.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 2448 Juno: linpack score is low from cutoff score on LCR-Reference
Bug 2447 Juno geekbench3 score is low from cutoff score on LCR-Reference
Bug 2251 LCR-R: Juno: benchmark: AndebenchPro-2015 failed to complete graphics test run
Bug 2206 varying-struct-arrays.shader_test fails on juno