NameLast modifiedSizeLicense

Parent Directory Parent Directory
other MANIFEST 11-Jan-2018 22:37 270 open
other MD5SUMS 11-Jan-2018 22:37 336 open
application/x-tar boot.tar.bz2 11-Jan-2018 22:37 7.6M open
text installed-files.txt 11-Jan-2018 22:37 74.2K open
other kernel_config 11-Jan-2018 22:37 85.8K open
application/x-sh linaro_android_build_cmds.sh 11-Jan-2018 22:37 8.6K open
text pinned-manifest.xml 11-Jan-2018 22:37 85.3K open
other ramdisk.img 11-Jan-2018 22:37 895.5K open
text source-manifest.xml 11-Jan-2018 22:37 46.4K open
other system.img 26-Feb-2018 13:12 750.0M open
application/x-tar system.tar.bz2 26-Feb-2018 13:13 225.1M open
other userdata.img 26-Feb-2018 13:13 550.0M open
application/x-tar userdata.tar.bz2 26-Feb-2018 13:13 51.4M open
other vexpress.img.bz2 26-Feb-2018 13:13 284.1M open


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

This Reference Linaro Confectionary Release is based on the AOSP Marshmallow
Android-6.0.0_r26 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.18. The sources are
built using AOSP GCC 4.9.
To switch to permissive mode, pass “androidboot.selinux=permissive” as
the boot parameter in the UEFI bootargs configuration.

The Android AOSP software provided in this release is functionally
tested with CTS version 6.0 R1 and the CTS results are shared with
members.

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 Marshmallow Android-6.0.0_r26 version
  • Applied tjbench patch for external/jpeg project

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

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
  • 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 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’

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 file MARSHMALLOW-RLCR-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
  • browser will fail to open because the SW rendering.

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 http://git.linaro.org/ci/linaro-image-tools.git

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 ea31f8e built at 19:14:42 on Sep 8 2015)
The default boot selection will start in 3 seconds
[1] zImage with ramdisk.img and board.dtb in NOR Flash - VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/zImage - Initrd: VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/ramdisk.img - Arguments: console=ttyAMA0,38400 rootwait androidboot.hardware=arm-versatileexpress-usb root=/dev/sda2 - LoaderType: Linux kernel with FDT support
———————————-
FDT Device Paths - VenHw(1F15DA3C-37FF-4070-B471-BB4AF12A724A)/board.dtb
———————————-
[2] Shell
[3] Boot Manager
[4] Reboot
[5] Shutdown
Start: 3
[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] zImage with ramdisk.img and board.dtb in NOR Flash - VenHw(E7223039-5836-41E1-B542-D7EC736C5E59)/zImage - Arguments: console=ttyAMA0,38400 rootwait androidboot.hardware=arm-versatileexpress-usb root=/dev/sda2
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] Firmware Volume (0 MB)
[2] Firmware Volume (0 MB)
[3] NOR Flash (63 MB)
[4] NOR Flash (63 MB)
[5] boot (67 MB)
[6] testboot (99 MB)
[7] (6984 MB)
[8] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
[9] PXE on MAC Address: 00:02:F7:00:47:35
[10] TFTP on MAC Address: 00:02:F7:00:47:35
Select the Boot Device: 6
File path of the EFI Application or the kernel: kernel
Is an EFI Application? [y/n] n
Has FDT support? [y/n] y
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 androidboot.hardware=arm-versatileexpress
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: 4
[1] Firmware Volume (0 MB)
[2] Firmware Volume (0 MB)
[3] NOR Flash (63 MB)
[4] NOR Flash (63 MB)
[5] boot (67 MB)
[6] testboot (99 MB)
[7] (6984 MB)
[8] VenHw(02118005-9DA7-443A-92D5-781F022AEDBB)
[9] PXE on MAC Address: 00:02:F7:00:47:35
[10] TFTP on MAC Address: 00:02:F7:00:47:35
Select the Boot Device: 6
File path of the FDT blob: v2p-ca15-tc2.dtb
[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 - LoaderType: Linux kernel with FDT support
———————————-
FDT Device Paths - VenHw(09831032-6FA3-4484-AF4F-0A000A8D3A82)/HD(3,MBR,0×00000000,0×200000,0×32000)/v2p-ca15-tc2.dtb
———————————-
[2] Shell
[3] Boot Manager
[4] Reboot
[5] Shutdown
Start: 1 PEI 2761 ms DXE 5366 ms BDS 17173 ms
Total Time = 25301 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.18.20 (buildslave@x86-64-07-android) (gcc version 4.9.4 20150629 (prerelease) (Linaro GCC 4.9-2015.06) ) #1 SMP PREEMPT Wed Sep 9 22:45:50 CEST 2015

Accessing Source Code

Linaro Android Source Code

Run the linaro_android_build_cmds.sh 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 linaro_android_build_cmds.sh script will download the source and create the build.:

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

Most commonly used build options:

$ linaro_android_build_cmds.sh -o $PWD/vendor.tar.bz2 -m pinned-manifest.xml
$ 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 -l <login-id> #Provide login/access ID to clone and build code from linaro-private repositories

If the linaro_android_build_cmds.sh 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.