ARM The Architecture For The Digital World  

Linux Support for the ARM Architecture

Linux Penguin LogoLinux is an open source operating system running on all major processor architectures, including ARM processors. It is supported by a large group of engineers contributing back into the open source (similar process to the FSF's GNU tools). This makes Linux a very dynamic and fast moving operating system.

 


Key benefits of Linux on ARM 

  • Complete scalable operating system providing a reliable multi-tasking environment
  • Based on an open source model (GPL)
  • Leverage a wide range of UNIX and open source applications
  • Early availability on ARM processor-based platforms
  • Used in many ARM technology-based designs including networking and wireless space
  • Broad support through open discussion forums

Linux Operating System Development

ARM contributes support for RealView® development platforms and tools to the main Linux kernel. The other tabs contain Linux kernel images, patches and utilities to run Linux on ARM processors and RealView platforms. Linux is the version of Linux running on processors with a Memory Management Unit (MMU). Processors without MMU can run a modified version of Linux called uClinux. The uClinux tab provides pre-built uClinux images for specific ARM processors.

Please refer to kernel.org for new versions of the Linux kernel and new developments. Public forums are available to review patches and information related to Linux development on ARM, links are also available from the following Wiki site . Source and binary versions of the GNU GCC compiler are available from CodeSourcery as well as discussion groups.

Additionally, ARM works with the Linux and open source community as well as commercial Linux partners including:

ARM does not provide generic Linux support, please refer to the following FAQ for more information.


Overview

The filesystem images available on this page include a set of applications tested with ARM RealView® platforms. More complete filesystems can be built using the infrastructure provided at linux.onarm.com which include web browsers, media applications etc.

The 2.6 Linux kernel provided on these pages include support for the following processors:

The following components are provided to support these platforms:

  • Boot loader: U-Boot
  • Pre-built Linux kernel, including sources and a binary image
  • Configuration files for building the kernel
  • Filesystem with pre-built utilities and applications
  • Notes describing Linux installation

Pre-built Kernel Images


 Platform \ Images

 U-Boot

 Linux Images

 RealView Versatile PB926/AB926

Versatile ABVersatile PB

Versatile AB-PBconfig

 RealView EB and PB

 RealView

RealView-v6config
RealView-v6-smpconfig

 RealView PB-A8

RealView

RealView-v7config
RealView-v7-thumbconfig

 RealView PBX-A9

 RealView

RealView-v7-smpconfig
RealView-v7-smp-thumbconfig

A copy of the mkImage utility used to produce U-Boot images is available.

Patch-2.6.28-arm2.gz (149KB) should be used against kernel.org 2.6.28 kernel source tree to produce the binary kernel images supplied on this page. Note that these patches are also available from the following GIT repository. This patch also includes support for running the Linux kernel in Thumb-2 state on ARMv7 processors.

The kernel provided with this release is compiled with EABI support and supports running of Thumb-2 based applications, handling of VFP and NEON registers. The pre-built RealView/EB MPCore image supplied on this page supports boards revisions C and D.

U-Boot binaries available for download on this page have been compiled from the following Sources. Patches are also contributed to the U-Boot project list.

Pre-built Filesystem Images

The following images can be used with each ARM platform:

These images were produced from ARM Linux Internet Platform software stack. Please consult the README file in the ARM Embedded Linux repository with regard to access to the source code of these packages.

These images have been generated using GCC 4.3.2 and GNU libc 2.8. Please, visit www.codesourcery.com for more information on sources and binary distributions of GNU GCC tools for ARM.

Licensing

The source code used to build these binary packages is available under the terms of the GNU Public License. This software is provided with NO WARRANTY, to the extent permitted by applicable law. The software is provided "as is" without warranty of any kind, either expressed or implied, including the implied warranties of merchantability or fitness for a particular purpose.

Note

Only pre-built images for ARM processors from ARMv5T onwards are provided on this page. Images for ARMv4 processors, marked with an asterisk (*) in the above processor list, can be built from source.


Overview

Processors without an MMU can run a modified version of Linux called uClinux. The filesystem images and patches provided on this page include support for uClinux including a set of applications tested with ARM RealView platforms. These are available for the following ARM processors:

Please refer to www.uclinux.org for more information, documentation, mailing lists and additional resources. The table below contains pre-built uClinux image for ARM RealView platforms for ARM1156 and Cortex-R4.

 Platform \ Images

 U-Boot

 uClinux kernel Image

 RealView

RealView

RealView-v6-nommuconfig
RealView-v7-nommuconfig
RealView-v7-nommu-thumbconfig

Patch-2.6.28-arm2.gz (149 KB) contains necessary changes to be applied against 2.6.28 kernel source tree to produce binary uClinux kernel images. These kernel images have been produced using GNU GCC 4.3.2.

The following filesystem images can be used with the supplied uClinux kernel images:  

  • Base cramfs (2.5 MB) - Base uClinux applications and libraries cramfs image
  • Thumb-2 cramfs (3 MB) - Thumb-2 uClinux applications and libraries cramfs image

The uClinux filesystem images were produced from BuildRoot.

Licensing

The source code used to build these binary packages is available under the terms of the GNU Public License. This software is provided with NO WARRANTY, to the extent permitted by applicable law. The software is provided "as is" without warranty of any kind, either expressed or implied, including the implied warranties of merchantability or fitness for a particular purpose.


Overview

ARM contributes to the GNU compiler project to track the evolution of the ARM architecture and ensure availability of a high-quality GNU toolchain for ARM. 

This toolchain supports all current ARM architectures and processors (including the Thumb-2 instruction set and ARM Architecture v7) with a roadmap to support future processors and architectures.

The toolchain complies to the latest ARM Application Binary Interface, and can hence interwork with ARM's RealView Development Suite or any other ABI-compliant toolchain. Users can leverage the optimized codesize and performance of a commercial, professional toolchain from ARM together with code built using Open Source tools.

Source and pre-built versions of the GNU compiler can be accessed from CodeSourcery at: http://www.codesourcery.com/gnu_toolchains/arm

 


Other ARM products suitable for use with Linux or uClinux include:

Processors and Related Technology

Graphics

Software Development


Maximise