About the Reference Linaro Confectionary Release for HiKey (Multi-arch 64-bit)
This Reference Linaro Confectionary Release is the release for 96boards HiKey board,
it 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 with SElinux enabled.
The kernel used for this build is based on the AOSP version 4.4 common kernel,
which includes the ARM Mali drivers for 3D graphics acceleration support,
OP-TEE 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 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 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 updated to base on android-7.1.1_r13 version
- CTS package update to use 7.1 R1 version
Please check the changelog.txt for details to see what Linaro has done on top of AOSP android-7.1.1_r13.
The use of HiKey software is subject to the terms of the HiKey:
End User License Agreement.
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 firstname.lastname@example.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’
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
- HDMI display has problems with some monitors
The following known issues are present in this release. Please contact email@example.com 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 456||fastboot fails to flash userdata partition while using sparse format|
|Bug 2561||warnings of hi6220-mbox f7510000.mailbox: Try increasing MBOX_TX_QUEUE_LEN|
|Bug 2454||usb driver crash on HiKey when using OTG and host port at the same time|
|Bug 1948||some codec tests fails on R-LCR 16.11 builds|
If this is the first time you use Hikey board, please reference here for the initial setup instructions:
Click on each link to download:
- userdata.img.xz(for 8G board) or userdata-4gb.img.xz(for 4G board)
Boot Hikey board to fastboot mode
Connect the Link 1-2 and Link 5-6 of the Jumper15 on your Hikey board,
Connect a standard microUSB to USB connector between the HiKey microUSB port
and your Linux PC. Connect the HiKey power supply to the board, and run
following command to check if the board is in fastboot mode:
$ sudo fastboot devices 0123456789abcdef fastboot $
Uncompress the downloaded .xz files using your operating system file manager,
or with the following command for each file:
$ xz -d [filename].xz
Flash the uncompressed files into the Hikey board under fastboot mode with
$ fastboot flash boot boot_fat.uefi.img $ fastboot flash system system.img $ fastboot -S 256M flash userdata userdata.img
Please use “userdata-4gb.img” if flash to a 4GB emmc version board.
Boot HiKey board with Android images
Connect the link 1-2, remove the link 3-4 and link 5-6 of the Jumper15 on your Hikey board,
connect the microUSB to you host pc, and plug in the power supply cable,
this will make your board boot the flashed android images by default.
You can use following command to check if the adb connection is connected:
$ adb devices List of devices attached 0123456789 device $
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 -u <url-aosp-mirror-manifest> #As -t, but repo sync from local mirror $ ./linaro_android_build_cmds.sh -m <pinned_manifest> #To reproduce an exact build from pinned manifest $ ./linaro_android_build_cmds.sh -m <pinned_manifest> -u <url-aosp-mirror-manifest> #As -m, but repo sync from local mirror
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
- Run the linaro_android_build_cmds.sh script downloaded, and answer the questions when promopted
These steps will generate the userdata.img for 8GB eMMC version by default,
if want to generate userdata.img for 4GB eMMC version by default, please
run following command first before run linaro_android_build_cmds.sh:
$ export TARGET_USERDATAIMAGE_4GB=true
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 to your HiKey Board
Following commands will flash the images into your HiKey board via the fastboot command.
$ sudo fastboot flash boot out/target/product/hikey/boot_fat.img $ sudo fastboot flash system out/target/product/hikey/system.img $ sudo fastboot -S 256M flash userdata out/target/product/hikey/userdata.img
THIS END USER LICENCE AGREEMENT (“LICENCE”) IS A LEGAL AGREEMENT BETWEEN YOU (EITHER A SINGLE INDIVIDUAL, OR SINGLE LEGAL ENTITY) AND ARM LIMITED (“ARM”) FOR THE USE OF THE SOFTWARE ACCOMPANYING THIS LICENCE. ARM IS ONLY WILLING TO LICENSE THE SOFTWARE TO YOU ON CONDITION THAT YOU ACCEPT ALL OF THE TERMS IN THIS LICENCE. BY CLICKING “I AGREE” OR BY INSTALLING OR OTHERWISE USING OR COPYING THE SOFTWARE YOU INDICATE THAT YOU AGREE TO BE BOUND BY ALL OF THE TERMS OF THIS LICENCE. IF YOU DO NOT AGREE TO THE TERMS OF THIS LICENCE, ARM IS UNWILLING TO LICENSE THE SOFTWARE TO YOU AND YOU MAY NOT INSTALL, USE OR COPY THE SOFTWARE, AND YOU SHOULD PROMPTLY RETURN THE SOFTWARE TO YOUR SUPPLIER.
“Software” means any software, firmware and data accompanying this Licence, any printed, electronic or online documentation supplied with it under the terms of this Licence for the MALI GPU Driver.
1. LICENCE GRANTS TO YOU.
ARM hereby grants to you, subject to the terms and conditions of this Licence, a non-exclusive, non-transferable, revocable, worldwide licence to: (i) use the Software or certain components or optional functionality in the Software, as applicable, solely for the purposes of designing or developing applications for use in conjunction with MALI GPU based products manufactured under licence from ARM; and (ii) modify the Software or certain components or optional functionality in the Software for the purposes of porting the Software to your target;
2. RESTRICTIONS ON USE OF THE SOFTWARE.
COPYING: You shall not use or copy the Software except as expressly authorised in this Licence. You may make one additional copy of the delivered Software for backup or archival purposes.
BENCHMARKING: This Licence does not prevent you from using the Software for internal benchmarking purposes. However, you shall treat any and all benchmarking data relating to the Software, and any other results of your use or testing of the Software which are indicative of its performance, efficacy, reliability or quality, as confidential information and you shall not disclose such information to any third party without the express written permission of ARM.
COPYRIGHT AND RESERVATION OF RIGHTS: The Software is owned by ARM or its licensors and is protected by copyright and other intellectual property laws and international treaties. The Software is licensed not sold. You acquire no rights to the Software other than as expressly provided by this Licence. You shall not remove from the Software any copyright notice or other notice and shall ensure that any such notice is reproduced in any copies of the whole or any part of the Software made by you or other permitted users.
REVERSE ENGINEERING: Except to the extent that such activity is permitted by applicable law you shall not reverse engineer, decompile or disassemble any of the Software. If the Software was provided to you in Europe you shall not reverse engineer, decompile or disassemble any of the Software for the purposes of error correction.
ARM is not under an obligation to provide support, but it may do so at its own discretion, and if it does, it will only be in respect of the Software as delivered and not any modifications thereto.
4. NO WARRANTIES.
YOU AGREE THAT THE SOFTWARE IS LICENSED “AS IS”, AND THAT ARM EXPRESSLY DISCLAIMS ALL REPRESENTATIONS, WARRANTIES, CONDITIONS OR OTHER TERMS, EXPRESS OR IMPLIED OR STATUTORY, INCLUDING WITHOUT LIMITATION THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, SATISFACTORY QUALITY, AND FITNESS FOR A PARTICULAR PURPOSE.
YOU EXPRESSLY ASSUME ALL LIABILITIES AND RISKS, FOR USE OR OPERATION OF SOFTWARE APPLICATIONS, INCLUDING WITHOUT LIMITATION, SOFTWARE APPLICATIONS DESIGNED OR INTENDED FOR MISSION CRITICAL APPLICATIONS, SUCH AS PACEMAKERS, WEAPONRY, AIRCRAFT NAVIGATION, FACTORY CONTROL SYSTEMS, ETC. SHOULD THE SOFTWARE PROVE DEFECTIVE, YOU ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
5. LIMITATION OF LIABILITY.
TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL ARM BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES (INCLUDING LOSS OF PROFITS) ARISING OUT OF THE USE OR INABILITY TO USE THE SOFTWARE WHETHER BASED ON A CLAIM UNDER CONTRACT, TORT OR OTHER LEGAL THEORY, EVEN IF ARM WAS ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
ARM does not seek to limit or exclude liability for death or personal injury arising from ARM’s negligence or ARM’s fraud and because some jurisdictions do not permit the exclusion or limitation of liability for consequential or incidental damages the above limitation relating to liability for consequential damages may not apply to you.
NOTWITHSTANDING ANYTHING TO THE CONTRARY CONTAINED IN THIS LICENCE, THE MAXIMUM LIABILITY OF ARM TO YOU IN AGGREGATE FOR ALL CLAIMS MADE AGAINST ARM IN CONTRACT TORT OR OTHERWISE UNDER OR IN CONNECTION WITH THE SUBJECT MATTER OF THIS LICENCE SHALL NOT EXCEED THE GREATER OF: (I) THE TOTAL OF SUMS PAID BY YOU TO ARM (IF ANY) FOR THIS LICENCE; AND (II) $10.00 USD. THE EXISTENCE OF MORE THAN ONE CLAIM WILL NOT ENLARGE OR EXTEND THE LIMIT.
You acknowledge that the Software and any benchmarking data and related information mentioned in Clause 2 may contain trade secrets and confidential material and you agree to maintain all such information in confidence and apply security measures no less stringent than the measures which you apply to protect your own like information, but not less than a reasonable degree of care, to prevent their unauthorised disclosure and use. Subject to any restrictions imposed by applicable law, the period of confidentiality shall be indefinite. You agree not to use any such information other than in normal use of the Software under the licences granted in this Licence.
7. U.S. GOVERNMENT END USERS.
US Government Restrictions: Use, duplication, reproduction, release, modification, disclosure or transfer of the Software is restricted in accordance with the terms of this Licence.
8. TERM AND TERMINATION.
This Licence shall remain in force until terminated by you or by ARM. Without prejudice to any of its other rights if you are in breach of any of the terms and conditions of this Licence then ARM may terminate this Licence immediately upon giving written notice to you or on thirty (30) days written notice without cause. You may terminate this Licence at any time. Upon termination of this Licence by you or by ARM , you shall stop using the Software and confidential information and destroy all copies of the Software and confidential information in your possession, together with all documentation and related materials. The provisions of clauses 4, 5, 6, 7, 8 and 9 shall survive termination of this Licence.
This Licence is governed by English Law. Except where ARM agrees otherwise in: (i) a written contract signed by you and ARM; or (ii) a written contract provided by ARM and accepted by you, this is the only agreement between you and ARM relating to the Software and it may only be modified by written agreement between you and ARM. Except as expressly agreed in writing, this Licence may not be modified by purchase orders, advertising or other representation by any person. If any clause or sentence in this Licence is held by a court of law to be illegal or unenforceable the remaining provisions of this Licence shall not be affected thereby. The failure by ARM to enforce any of the provisions of this Licence, unless waived in writing, shall not constitute a waiver of ARM’s rights to enforce such provision or any other provision of this Licence in the future.
At ARM’s request, you agree to check your computers for installations of the Software and any other information requested by ARM relating to Software installation and to provide this information to ARM. You agree that auditors nominated by ARM may also perform such checking and reporting on behalf of ARM by prior appointment during your normal business hours on seven (7) days’ notice. ARM shall bear the auditors’ costs for that audit unless it reveals unlicensed usage in which case you shall promptly reimburse ARM for all reasonable costs and expenses, including professional fees, relating to such audit. Any information which is disclosed to ARM or such auditors during checking or audit shall be treated as your confidential information and shall only be used by ARM for licence management, compliance and enforcement purposes.
The Software provided under this Licence is subject to U.S. export control laws, including the U.S. Export Administration Act and its associated regulations, and may be subject to export or import regulations in other countries. You agree to comply fully with all laws and regulations of the United States and other countries (“Export Laws”) to assure that the Software, is not (1) exported, directly or indirectly, in violation of Export Laws, either to any countries that are subject to U.S.A. export restrictions or to any end user who has been prohibited from participating in the U.S.A. export transactions by any federal agency of the U.S.A. government; or (2) intended to be used for any purpose prohibited by Export Laws, including, without limitation, nuclear, chemical, or biological weapons proliferation.
Mali GPU Userspace LES-PRE-20376