NameLast modifiedSizeLicense

Parent Directory Parent Directory
other MANIFEST 11-Jan-2018 14:28 265 open
other MD5SUMS 11-Jan-2018 14:28 331 open
application/x-tar boot.tar.bz2 11-Jan-2018 14:28 6.9M open
other fvp.img.bz2 26-Feb-2018 10:20 356.8M open
text installed-files.txt 11-Jan-2018 14:28 85.7K open
other kernel_config 11-Jan-2018 14:28 83.7K open
application/x-sh linaro_android_build_cmds.sh 11-Jan-2018 14:28 8.5K open
text pinned-manifest.xml 11-Jan-2018 14:28 85.3K open
other ramdisk.img 11-Jan-2018 14:28 1.2M open
text source-manifest.xml 11-Jan-2018 14:29 46.4K open
other system.img 26-Feb-2018 10:21 750.0M open
application/x-tar system.tar.bz2 26-Feb-2018 10:21 302.1M open
other userdata.img 26-Feb-2018 10:21 550.0M open
application/x-tar userdata.tar.bz2 26-Feb-2018 10:22 47.6M open


About the Reference Linaro Confectionary Release for FVP (Multi-arch 64-bit)

This Reference Linaro Confectionary Release is based on the AOSP Marshmallow
Android-6.0.0_r26 version. This build is the userdebug variant
build, it contains multi-arch support allowing full use of the 64-bit
ARMv8-A architecture and supports both 64-bit and 32-bit applications,
and has selinux enabled by default.

Java-only applications will run as 64-bit in the supplied configuration
with no modification. The release uses the kernel from the Linaro ARM
Landing team which is based on Android flavour of Linaro Stable
Kernel version 3.18, and with EFI enabled and all necessary android
configs.
The sources are built using AOSP GCC version 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.

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 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
  • 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.
  • Slow on high resolutions – we run on small screen size to avoid excessive delays
  • Lack of audio support may cause apps using audio to hang
  • HDLCD is not supported yet
  • Has long time problem to run some CTS test package because of the performance thing

Prerequisites

Run the build

You’ll need the latest ARM FVP Base models and a license to use the models. Follow the instructions at https://collaborate.linaro.org/display/ITS/FlexLM+and+Fast+Models for the same.

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 binary for the ARM FVP Base AEMv8 models

Run linaro image tools

$ linaro-android-media-create --image_file mmc.bin --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 --image_file mmc.bin --image_size 2000M --dev vexpress --system system.tar.bz2 --userdata userdata.tar.bz2 --boot boot.tar.bz2

Extract the preboot files

tar -jxvf boot.tar.bz2

Setup the runtime environment

  $ export ARMLMD_LICENSE_FILE="8224@localhost"
  $ ssh -L 8224:localhost:8224 -L 18224:localhost:18224 -N $USER@flexlm.linaro.org &

Running the models (verified on FVP Base model build 6302)

  $ cd boot/
  $ /path/to/FVP_Base_AEMv8A-AEMv8A/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A \
        -C pctl.startup=0.0.0.0 \
        -C bp.secure_memory=0 \
        -C cluster0.NUM_CORES=1 \
        -C cluster1.NUM_CORES=1 \
        -C cache_state_modelled=0 \
        -C bp.pl011_uart0.untimed_fifos=1 \
        -C bp.secureflashloader.fname=bl1.bin \
        -C bp.flashloader0.fname=fvp_fip.bin \
        -C bp.virtioblockdevice.image_path=mmc.bin \
        -C bp.hostbridge.userNetworking=true \
        -C bp.ve_sysregs.mmbSiteDefault=0 \
        -C bp.hostbridge.userNetPorts="5555=5555" \
        -C bp.smsc_91c111.enabled=1

Console redirection

To redirect the console open a terminal and run

telnet 127.0.0.1 5000

Select UEFI configuration item, boot the build

Stop the UEFI prompt and select the Shell item, then it will boot up directly for you:


$ telnet localhost 5000
Trying ::1…
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
NOTICE: Booting Trusted Firmware
NOTICE: BL1: v1.1(release):789c220
NOTICE: BL1: Built : 08:47:23, Jun 17 2015
NOTICE: BL1: Booting BL2
NOTICE: BL2: v1.1(release):789c220
NOTICE: BL2: Built : 08:47:25, Jun 17 2015
NOTICE: BL1: Booting BL3-1
NOTICE: BL3-1: v1.1(release):789c220
NOTICE: BL3-1: Built : 08:47:30, Jun 17 2015
UEFI firmware (version built at 08:45:45 on Jun 17 2015)

[=3h[=3h[=3h[=3h[=3h[=3h
The default boot selection will start in 1 seconds
EFI stub: Booting Linux Kernel…
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.80 (buildslave@x86-64-07-android) (gcc version 4.9.4 20150629 (prerelease) (Linaro GCC 4.9-2015.06) ) #1 SMP PREEMPT Mon Jul 20 13:57:36 CEST 2015

Black screen

The boot screen has been disabled to speed up booting. This means you may not see anything on the CLCD terminal for a while depending on the performance of the machine the model is running on. For example a first boot on a 2 GHz machine with 32 GB of RAM took 20 minutes. Subsequent boots should take approximately half the time to boot.

Run the Android SDK

Attach ADB

If you run the models with the configurations mentioned above at the “Running the models” section, by default you can connect to the adb connection like this:

    adb connect 127.0.0.1

ADB on FVP Base models are supported over network as well. Follow the instructions here https://wiki.linaro.org/Internal/Projects/Juice/SetupNetworkingOnModelsUsingBridges to setup networking and use adb.

You can also run all of the standard Android SDK tools. Learn more at http://developer.android.com/sdk/index.html

Please Note: The adb connection will be only available after the Home screen is displayed.

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

Build from the tip of the source:

chmod a+x linaro_android_build_cmds.sh
./linaro_android_build_cmds.sh -t

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

Booting the android with fastmodels

create the image file

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

Extract the preboot files

tar -jxvf boot.tar.bz2

Setup the runtime environment

  $ export ARMLMD_LICENSE_FILE="8224@localhost"
  $ ssh -L 8224:localhost:8224 -L 18224:localhost:18224 -N $USER@flexlm.linaro.org &

Running the models (verified on FVP Base model build 6302)

  $ cd boot/
  $ /path/to/FVP_Base_AEMv8A-AEMv8A/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A \
        -C pctl.startup=0.0.0.0 \
        -C bp.secure_memory=0 \
        -C cluster0.NUM_CORES=1 \
        -C cluster1.NUM_CORES=1 \
        -C cache_state_modelled=0 \
        -C bp.pl011_uart0.untimed_fifos=1 \
        -C bp.secureflashloader.fname=bl1.bin \
        -C bp.flashloader0.fname=fvp_fip.bin \
        -C bp.virtioblockdevice.image_path=mmc.bin \
        -C bp.hostbridge.userNetworking=true \
        -C bp.ve_sysregs.mmbSiteDefault=0 \
        -C bp.hostbridge.userNetPorts="5555=5555" \
        -C bp.smsc_91c111.enabled=1

Console redirection

To redirect the console open a terminal and run

telnet 127.0.0.1 5000

Select UEFI configuration item, boot the build

Stop the UEFI prompt and select the Shell item, then it will boot up directly for you:


$ telnet localhost 5000
Trying ::1…
Trying 127.0.0.1…
Connected to localhost.
Escape character is ‘^]’.
NOTICE: Booting Trusted Firmware
NOTICE: BL1: v1.1(release):789c220
NOTICE: BL1: Built : 08:47:23, Jun 17 2015
NOTICE: BL1: Booting BL2
NOTICE: BL2: v1.1(release):789c220
NOTICE: BL2: Built : 08:47:25, Jun 17 2015
NOTICE: BL1: Booting BL3-1
NOTICE: BL3-1: v1.1(release):789c220
NOTICE: BL3-1: Built : 08:47:30, Jun 17 2015
UEFI firmware (version built at 08:45:45 on Jun 17 2015)

[=3h[=3h[=3h[=3h[=3h[=3h
The default boot selection will start in 1 seconds
EFI stub: Booting Linux Kernel…
[ 0.000000] Initializing cgroup subsys cpu
[ 0.000000] Initializing cgroup subsys cpuacct
[ 0.000000] Linux version 3.10.80 (buildslave@x86-64-07-android) (gcc version 4.9.4 20150629 (prerelease) (Linaro GCC 4.9-2015.06) ) #1 SMP PREEMPT Mon Jul 20 13:57:36 CEST 2015

Black screen

The boot screen has been disabled to speed up booting. This means you may not see anything on the CLCD terminal for a while depending on the performance of the machine the model is running on. For example a first boot on a 2 GHz machine with 32 GB of RAM took 20 minutes. Subsequent boots should take approximately half the time to boot.

Run the Android SDK

Attach ADB

If you run the models with the configurations mentioned above at the “Running the models” section, by default you can connect to the adb connection like this:

    adb connect 127.0.0.1

ADB on FVP Base models are supported over network as well. Follow the instructions here https://wiki.linaro.org/Internal/Projects/Juice/SetupNetworkingOnModelsUsingBridges to setup networking and use adb.

You can also run all of the standard Android SDK tools. Learn more at http://developer.android.com/sdk/index.html

Please Note: The adb connection will be only available after the Home screen is displayed.