NameLast modifiedSizeLicense

Parent Directory Parent Directory
other Image 31-Mar-2016 14:45 8.4M open
application/octet-stream bl1.bin 05-Feb-2016 17:18 41.3K open
application/octet-stream bl2.bin 05-Feb-2016 17:18 44.0K open
application/octet-stream bl31.bin 05-Feb-2016 17:18 91.6K open
other fvp-base-gicv2-psci.dtb 05-Feb-2016 17:18 9.3K open
other fvp-base-gicv2legacy-psci.dtb 05-Feb-2016 17:18 9.3K open
other fvp-base-gicv3-psci.dtb 05-Feb-2016 17:18 9.7K open
other fvp-foundation-gicv2-psci.dtb 05-Feb-2016 17:18 6.6K open
other fvp-foundation-gicv2legacy-psci.dtb 05-Feb-2016 17:18 6.6K open
other fvp-foundation-gicv3-psci.dtb 05-Feb-2016 17:18 7.1K open
text hwpack_linaro-vexpress64-rtsm_20140222-611_arm64_supported.manifest.txt 05-Feb-2016 17:18 508 open
application/x-tar hwpack_linaro-vexpress64-rtsm_20140222-611_arm64_supported.tar.gz 31-Mar-2016 14:45 51.8M open
other img-foundation.axf 31-Mar-2016 14:45 8.6M open
other img.axf 31-Mar-2016 14:45 8.6M open
application/x-tar java-8-openjdk.tar.gz 31-Mar-2016 14:45 68.9M open
application/x-ms-manifest linaro-image-lamp-genericarmv8-20140223-649.manifest 05-Feb-2016 17:18 137.6K open
application/x-ms-manifest linaro-image-lamp-genericarmv8-20140223-649.rootfs.manifest 05-Feb-2016 17:18 51.5K open
application/x-tar linaro-image-lamp-genericarmv8-20140223-649.rootfs.tar.gz 31-Mar-2016 14:45 289.2M open
application/x-ms-manifest linaro-image-leg-java-genericarmv8-20140223-649.manifest 05-Feb-2016 17:18 148.3K open
application/x-ms-manifest linaro-image-leg-java-genericarmv8-20140223-649.rootfs.manifest 05-Feb-2016 17:18 55.2K open
application/x-tar linaro-image-leg-java-genericarmv8-20140223-649.rootfs.tar.gz 31-Mar-2016 14:46 423.2M open
application/x-ms-manifest linaro-image-minimal-genericarmv8-20140223-649.manifest 05-Feb-2016 17:18 10.2K open
application/x-ms-manifest linaro-image-minimal-genericarmv8-20140223-649.rootfs.manifest 05-Feb-2016 17:18 3.5K open
application/x-tar linaro-image-minimal-genericarmv8-20140223-649.rootfs.tar.gz 31-Mar-2016 14:46 21.8M open
other startup.nsh 05-Feb-2016 17:18 163 open
application/octet-stream uefi_fvp-base.bin 05-Feb-2016 17:18 2.5M open
text vexpress64-openembedded_lamp-armv8-gcc-4.8_20140222-611.html 05-Feb-2016 17:18 3.5K open
other vexpress64-openembedded_lamp-armv8-gcc-4.8_20140222-611.img.gz 31-Mar-2016 14:46 346.5M open
other vexpress64-openembedded_lamp-armv8-gcc-4.8_20140222-611.img.gz.zsync 31-Mar-2016 14:46 19.5M open
text vexpress64-openembedded_leg-java-armv8-gcc-4.8_20140222-611.html 05-Feb-2016 17:19 3.5K open
other vexpress64-openembedded_leg-java-armv8-gcc-4.8_20140222-611.img.gz 31-Mar-2016 14:46 481.9M open
other vexpress64-openembedded_leg-java-armv8-gcc-4.8_20140222-611.img.gz.zsync 31-Mar-2016 14:47 19.5M open
text vexpress64-openembedded_minimal-armv8-gcc-4.8_20140222-611.html 05-Feb-2016 17:19 3.5K open
other vexpress64-openembedded_minimal-armv8-gcc-4.8_20140222-611.img.gz 31-Mar-2016 14:47 76.2M open
other vexpress64-openembedded_minimal-armv8-gcc-4.8_20140222-611.img.gz.zsync 31-Mar-2016 14:47 19.5M open

AArch64 OpenEmbedded ARM Fast Models 14.02 Release

The AArch64 Open Embedded Engineering Build for ARM Fast Models for ARMv8 is produced, validated and released by Linaro, based on the latest AArch64 open source software from Tianocore EDK2 (UEFI), the Linux kernel, ARM Trusted Firmware and OpenEmbedded. It is produced to enable software development for AArch64 prior to hardware availability, and facilitates development of software that is independent of the specific CPU implementation. This build focuses on availability of new features in order to provide a basis for ongoing and dependent software development.

Linaro releases monthly binary images of this engineering build. This release includes Linaro OpenEmbedded images for Versatile Express, Base and Foundation Fixed Virtual Platform (FVP) models from ARM. Sources are also made available so you can build your own images.

About the AArch64 OpenEmbedded Engineering Build

This release has been tested on the Base FVPs from ARM (since September 2013), in addition to the updated Foundation FVP (since November 2013) and Versatile Express FVP.

The ‘Base’ platform is an evolution from the Versatile Express (VE) platform that is better able to support new system IP, larger memory maps and multiple CPU clusters. The changes in the Base platform memory map require that software or device trees which specify peripheral addresses may need to be modified for the Base FVPs. Device trees for these FVPs are included in this release.

This build has been tested to work on the following FVPs:

  • Foundation_v8
  • FVP_VE_AEMv8A (previously called RTSM_VE_AEMv8A before v5.0)
  • FVP_Base_AEMv8A-AEMv8A
  • FVP_Base_Cortex-A57×4-A53×4
  • FVP_Base_Cortex-A57×1-A53×1

The Foundation_v8 FVP is free to use (download from ARM, while the others are licensed from ARM. More information on these specific FVPs is included with this release documentation.

The Base and Foundation FVPs use the following software for boot and runtime firmware services in this engineering build:

  • ARM Trusted Firmware provides a reference implementation of secure world software for ARMv8-A, including Exception Level 3 (EL3) software
  • Tianocore EDK2 which provides a UEFI based boot environment for the normal world operating system or hypervisor (in this case, Linux)
    The VE FVP continues to be booted using the AArch64 Linux boot-wrapper.

The same kernel image is used for all of these models, though the FVP_VE_AEMv8A image is encapsulated by the kernel boot-wrapper as in previous releases.

Where To Find More Information

More information on Linaro can be found on our website.

More information on ARM FVPs can be found on ARM’s website:

More information on ARM Trusted Firmware and Platform Design Documents (PDDs) can be found on the project’s GitHub repository:

More information on building UEFI for AArch64 can be found on Linaro’s wiki:

Feedback and Support

Relating to the ARM Fixed Virtual Platforms:

  • For technical support on the Foundation_v8 FVP use the ARM support forums,
  • For technical support on the Base and VE FVPs contact ARM Fast Models Support,
  • To provide feedback to ARM relating to any of the FVPs, please refer to the respective product documentation

To provide feedback or ask questions about the ARM Trusted Firmware, please create a new Issue at GitHub.

Subscribe to the important Linaro mailing lists and join our IRC channels to stay on top of Linaro development.

Changes in this release

  • OpenDataPlane recipe added
  • Linaro PowerDebug recipe added
  • ACPICA updated to 20131115
  • Add initscript for gator

Known Issues

Linaro OpenEmbedded releases are made up of the following components.

*.img.gz pre-built images for minimal, LAMP and LEG root filesystems
hwpack_*.tar.gz a single hardware pack for the Foundation, Versatile Express [1] and Base platform models
linaro-image-*.rootfs.tar.gz a choice of Root file system (RootFS) images
Image kernel used by UEFI
foundation.axf kernel binary wrapped for the Foundation model
img.axf kernel binary wrapped for the Versatile Express model
[bB]*.bin ARM Trused Firmware binaries
*.dtb files Device Tree Binaries
uefi_fvp-base.bin UEFI binary

Other files such as *.manifest, *.txt and *.html provide information such as package contents or MD5SUMs about the files they share a common filename with.

1 Linaro does not provide support for running the Versatile Express models.

Using pre-built image


  • Ubuntu 12.04 64 bit or newer on your desktop PC (
  • Foundation, Versatile Express or Base platform fast model (Linaro ARMv8 Engineering)
  • All artifacts for this release downloaded from the above list.
  • 14.02 linaro-image-tools or later

Installation Steps

  • Unzip the downloaded pre-built image
gunzip vexpress64-openembedded_*-armv8*.img.gz
  • Skip to the section below showing how to Boot the image.
    Replace sd.img with the filename of the image unzipped above.

Build Your Own Image

Installing Linaro Image Tools

There are multiple ways you can get the latest Linaro Image Tools:

  • Method 1: Install them from the Linaro Image Tools PPA
sudo add-apt-repository ppa:linaro-maintainers/tools
sudo apt-get update
sudo apt-get install linaro-image-tools
  • Method 2: Install from release tarball
cd <installation directory>
tar zxvf linaro-image-tools-2014.02.tar.gz
  • Method 3: Building from the BZR repository
cd <working direcory>
bzr branch lp:linaro-image-tools

Creating a disk image

  • Download the hardware pack (hwpack-*.tar.gz) from the above list
  • Download the rootfs (linaro-*.tar.gz) of your choice from the above list, LAMP is usually a good selection for a more fully featured disk image
  • Create the image
linaro-media-create --dev fastmodel --output-directory fastmodel --image_size 2000M --hwpack <hwpack filename> --binary <rootfs filename>
cd fastmodel

Boot the image

Using the FVP Base AEMv8 model

ln -sf fvp-base-gicv2-psci.dtb fdt.dtb
<path to model installation>/models/Linux64_GCC-4.1/FVP_Base_AEMv8A-AEMv8A \
-C pctl.startup= \
-C bp.secure_memory=0 \
-C cluster0.NUM_CORES=4 \
-C cluster1.NUM_CORES=4 \
-C cache_state_modelled=1 \
-C bp.pl011_uart0.untimed_fifos=1 \
-C bp.secureflashloader.fname=bl1.bin \
-C bp.flashloader0.fname=uefi_fvp-base.bin \
-C bp.virtioblockdevice.image_path=sd.img

Using the FVP Base Cortex model

To boot the A57×1 + A53×1 model:

ln -sf fvp-base-gicv2-psci.dtb fdt.dtb
<path to model installation>/models/Linux64_GCC-4.1/FVP_Base_Cortex-A57x1-A53x1 \
-C pctl.startup= \
-C bp.secure_memory=0 \
-C cache_state_modelled=1 \
-C bp.pl011_uart0.untimed_fifos=1 \
-C bp.secureflashloader.fname=bl1.bin \
-C bp.flashloader0.fname=uefi_fvp-base.bin \
-C bp.virtioblockdevice.image_path=sd.img

To boot the A57×4 + A53×4 model, use the same command, only specify a different model binary:

ln -sf fvp-base-gicv2-psci.dtb fdt.dtb
<path to model installation>/models/Linux64_GCC-4.1/FVP_Base_Cortex-A57x4-A53x4 \
-C pctl.startup= \
-C bp.secure_memory=0 \
-C cache_state_modelled=1 \
-C bp.pl011_uart0.untimed_fifos=1 \
-C bp.secureflashloader.fname=bl1.bin \
-C bp.flashloader0.fname=uefi_fvp-base.bin \
-C bp.virtioblockdevice.image_path=sd.img

Using Ethernet networking with the FVP Base Platform Models

To enable networking in the Base FVP models, you should install a network TAP on your local machine. See the Fast Models User Guide for more information on setting up a TAP for use with the models.

Then, with the network TAP enabled, run with model as above, but with these additional parameters

-C bp.hostbridge.interfaceName=ARM$USER \
-C bp.smsc_91c111.enabled=true \
-C bp.smsc_91c111.mac_address=<MAC address, eg, 00:11:22:33:44:55>

Booting the image on the Foundation Model

The latest version of the Foundation Model (version 0.8.5206, as of November 2013) is compatible with the ARM Trusted Firmware and UEFI. To launch the Foundation Model, use the following command:

ln -sf fvp-foundation-gicv2-psci.dtb fdt.dtb
<path to model installation>/Foundation_v8 \
--cores=4 \
--no-secure-memory \
--visualization \
--gicv3 \
--data=bl1.bin@0x0 \
--data=uefi_fvp-base.bin@0x8000000 \

note: it is intentional that we suggest using the GICv2 DTB file, whilst specifying GICv3 on the model command line. In this mode, you are using the GICv3 controller in GICv2 compatibility mode, which is the default recommended by ARM.

Booting the image on the Foundation Model using the AXF file

If you are using an older version of Foundation Model (i.e. older than version 0.8.5206) and wish to use a pre-built image, you can simply unzip the downloaded pre-built image and the img-foundation.axf file and run the following command:

<path to model installation>/Foundation_v8 --image img-foundation.axf \
  --block-device vexpress64-openembedded_IMAGENAME-armv8_IMAGEDATE-XYZ.img

To use the image you built with linaro-media-create in the steps above, run this command:

<path to model installation>/Foundation_v8 --image img-foundation.axf \
  --block-device sd.img

Using Ethernet networking on the Foundation Models

The Foundation Models can be configured to use either NAT or Bridged mode.

For the basic NAT confgiuration, add the following option to the command used to launch the model:

--network nat

For Bridged networking, you will need to set up a network TAP as per the FastModels user guide. Then, the following options may work:

--network bridged --network-bridge=ARM$USER

Details of the Foundation Model’s command line options can be found in the Foundation model documentation on ARM’s website.


OpenJDK 8 snapshot for AArch64

This is a client (C1) and server (C2) release of OpenJDK 8 for AArch64. This release is based on tag ‘jdk8-b111’ of the OpenJDK source tree.

The AArch64 branch of this tree is found at:

The release may be obtained either as part of the Linaro OpenEmbedded 14.02 leg-java image, as a standalone binary tarball or as a Fedora 19 RPM.

The OpenEmbedded 14.02 image may be found at:

The binary tarball may be found at:

The Fedora 19 RPM may be found at:

Running OpenJDK 8

By default this build of OpenJDK 8 will run the client (C1) compiler. To run the server (C2) compiler invoke as ‘java -server’.

Release Status

The client (C1) version of this release represents a fully functional stable release with no known critical faults. However, there are corner cases in the test suites that currently fail but they are being addressed.

The server (C2) version should be considered a preview release only. It is believed to be fully functional but there are known critical faults.

Testing and Continuous Integration

Testing of OpenJDK 8 is done by running the Mauve and JTREG test suites on a daily basis.

The tests are executed via the LAVA test environment and are run on the ARM FastModels.

Only the hotspot tests are being run from the JTREG test suite as the current focus is on the AArch64 client (C1) and server (C2) compilers.

Test Results

Tests run on the FastModels are captured in the daily image reports.

Known Problems

When invoking java with -server (C2) occasional SIGSEGVs have been seen in the parallel garbage collector. This tends to occur in highly multi-threaded applications. The workaround is to use -XX:-UseParallelGC when invoking java.