Winter 2010 Posters/ARM Intro
Project Name
Fedora/ARM
Name
Arlene Daniel
Fedora
Fedora, an open source operating system using RPM-based, built on top of the Linux kernel. It is developed and maintained by a community-support known as the Fedora Project which is sponsored by Red Hat. The Fedora Project's mission is "To lead the advancement of free and open source software and content as a collaborative commuinty." Fedora's main aim is to be a leader in the use and distrbution on software designed as open source.
The ARM Architecture
ARM chips are the most popular CPU produced -- approximately 1.6 billion are being made each year. These are being sold under a number of different brand names (ARM, StrongARM, Armada, Cortex, OMAP, Sheeva, Snapdragon, XScale) by a number of different manufacturers. Most of these are going into cellphones, but hundreds of millions are being used in other devices such as routers, NAS boxes, embedded controllers, tablets, and netbooks. One Laptop Per Child (OLPC) computers, model XO-1.75, use an ARM processor. Since Fedora is used on the XO units, having a reliable ARM build of Fedora is increasingly important.
Supported Architecture
Fedora supports two primary architectures:
i386 - 32-bit Intel/AMD-compatible x86_64 - 64-bit Intel/AMD-compatible
There are also a number of secondary archs:
arm - A widely-used, low-power processor family commonly used for embedded and mobile applications ia64 – Itanium pa-risc - HP Precision Architecture ppc - 32-bit Power PC ppc64 - 64-bit Power PC s390 - IBM mainframes (including z90 and z9) sparc - Sun RISC architecture
The ARM architecture is increasingly important, but there's a lot more that could be done in terms of update frequency, number of packages successfully built, transparency of process, and integration with the other Fedora build processes.
Technical Approach
Fedora policy requires that packages be natively compiled. We use a cluster of ARM hardware and QEMU virtual machines to build the packages natively for ARM.
The baseline ARM CPU architecture that we have chosen to support is ARMv5TE, Little Endian, Soft-Float, EABI. We believe that this provides a nice baseline and that the pre-built packages and root file system images. You should be able to use this on many of the modern ARM CPUs, including XScale, ARM926 and ARM-11, etc.
Although we do not provide such binaries, the sources also lend themselves for building for pre-ARMv5TE hardware. The same is true for big-endian CPUs.
Installer and Kernel
We currently do not plan to provide an installer, ISO images, or a kernel. Unlike in the x86 world, different ARM CPU families require different kernel images. Likewise, it is not entirely clear whether it makes sense to provide an installer or ISO images.
Our Objective
We're going to set up a Koji build system for ARM. Initially this will be based on the CDOT system HongKong. Initial ARM builders will use QEMU emulation, which will be replaced by ARM Hardware when it arrives.
Our Goal
To support the Fedora ARM initiative by creating and managing a Koji build farm that will koji-shadow the primary architectures.
Acknowledgements
- Chris Tyler
Links
- Fedora Project - https://fedoraproject.org/wiki/Architectures/ARM
- Fedora Arm Secondary Architecture wiki - http://zenit.senecac.on.ca/wiki/index.php/Fedora_ARM_Secondary_Architecture
Logos
- Fedora
- ARM