Linaro Enterprise Group (LEG) 2012.12 "Engineering Preview" Release

This is the first ever release of Linaro Enterprise Group (LEG). This release is meant to be an engineering preview of the great work done by ARM (future LEG) engineers. This release is a compilation of work that spans kernels, boot loaders, virtualization, and user space.

Please note this is an engineering preview and should NOT be used for production purposes.


The CRC32 checksum is an important algorithm used in modern distributed storage and computing systems eg in Hadoop installations. For this release, the study of CRC32 optimisation was done with ARM NEON on ARMv7. For the results, consult this page.

The results will be used in future optimisation work on the Hadoop Distributed File System during the first quarter of 2013.

Compression Analysis

Looking at another important distributed storage functionality - Compression - engineers studied how the different compression algorithms can be optimised for ARM. The results for that study are now available here.

Non-Uniform Memory Access

The NUMA support in Linux provides an awareness in the operating system that certain nodes in a multiprocessor system have different memory access performance for different memory regions. While in the strictest sense of the term, there are no NUMA ARM platforms available, these mechanisms can be used to reduce excessive cache-line migration in big.LITTLE (or big.big/LITTLE.LITTLE) systems - of which a current example is the ARM TC2. ARM engineers implemented NUMA support for ARM and are working to upstream patches. LEG is making them available as part of this release from Click here for access to source and build instructions.


On ARMv7 Linux, the standard page size is 4KB. Workloads that require a lot of scattered memory accesses can benefit from using a larger (denoted in the kernel as "huge") page size as this reduces the number of translation table lookups required, thus reduces the number of TLB misses. The kernel provides two mechanisms to support huge pages, HugeTLBfs and Transparent Hugepage (THP) support. This support makes it possible to have memory allocated in 2MB chunks instead, leading to a significant performance improvements on some workloads.

For more information, please see this wiki page.


GRUB (the bootloader formerly known as GRUB2) is the de facto standard bootloader for mainstream Linux distributions. Because of this importance and because it is a standard component, this work was taken on by ARM as a pre-formation task for LEG in order to reduce the risk of duplicating effort. The initial port of GRUB to platforms using the U-Boot firmware is considered complete. Click here to get the source and build instructions.

GRUB on UEFI is still work in progress and is slated for completion in 2013.

Ubuntu 12.04 Server for the Samsung Arndale board

LEG is using the Samsung Arndale board as its main hardware platform of development, testing and delivery. The Arndale board is a dual A15 (32bit) low cost board.

To facilitate development and testing, LEG has created a preview Ubuntu server image that can boot on the Arndale using Uboot or UEFI.

  • Access to Uboot image and instructions, please use this page

  • Access to UEFI image and instructions, please use this page instead

These images are meant to be a one time engineering preview. Note: Future Arndale builds will be provided by the Linaro platform team using Linaro infrastructure and testing tools.

It is also possible to have KVM installed on the Uboot image following these instructions.

Build features

  • Kernel v3.6
  • USB 2.0/3.0
  • Network
  • Perf
  • NUMA
  • LPAE (in the source but not enabled)
  • SATA

Uboot supports:

  • eMMC boot support
  • auto start of USB
  • Ethernet
  • SD-MMC

UEFI supports:

  • SD-MMC boot
  • Native building
  • Common tree
  • EFI Shell

LEG/Engineering/Releases/12.12 (last modified 2012-12-20 19:31:33)