Winter 2010 Posters/ARM Intro
Contents
Project Name
Fedora/ARM
Name
Arlene Daniel
Our Goal
To enable the current version of Fedora to be used on low-power ARM computer systems. We will do this by setting up the Fedora build system, named Koji, on a cluster of ARM computers. These computers will build an ARM-compatible version of each of the approximately 15,000 Fedora software packages. The Koji-Shadow software will be used to monitor the main Fedora Koji system -- which builds software packages for PCs -- so that every time a new software package is prepared for PCs it will automatically also be built on our Koji system for ARM computers. The resulting packages will be placed in a publicly-accessible repository so that they can be used worldwide.
About The ARM Architecture
ARM chips are the most popular 32-bit RISC "microprocessor" and is mainly used and suited for low power applications. Approximately 1.6 billion are being made each year by different manufactures and are sold under a number of different brand names, brands like ARM, StrongARM, Armada, Cortex, OMAP, Sheeva, Snapdragon and XScale to name a few. The chips created are used in devices like cellphones, routers, NAS boxes, embedded controllers, tablets, netbooks and many others.
The ARM Hardware
One Laptop Per Child (OLPC) computers - model XO-1.75 a subnotebook that is donated to developing countries at a cost of fifty dollars so that each primary school child could have their own laptop to explore the world, a Touch Book - developed by Always Innovating is a lightweight portable device that has a detachable magnetic keyboard and the SheevaPlug - a plug computer designed to run network-based software devices are some devices that use an ARM processor.
These devices use a Linux based OS and since Fedora is used on the XO units, having a reliable ARM build of Fedora is increasingly important.
About Fedora
Fedora is 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 community." Fedora’s main aim is to be a leader in the use and distribution on software designed as open source. Fedora has a release every six months and a maintenance period of about thirteen months for each of its releases. Fedora 12 was released November 11, 2009 and Fedora 13 has an expected release date of May 18, 2010.
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
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.
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.
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
The plan was to set up a Koji builder on a system of virtual ARM machines that is based on the CDOT system HongKong. The ARM builders are using QEMU emulation, which will be replaced by ARM Hardware when it arrives.
The HongKong system also housed a PosegreSQL database and the Koji hub, Koji Web and Kojira. Other components like Apache and Mock also had to be installed on the system.
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
Images
- Fedora - http://www.mynetbookworld.com/wp-content/uploads/2009/09/fedoraLogo.jpg
- ARM Processor - http://co-designsystems.com/images/arm-processor.jpg
- OLPC - http://futuresgroup.files.wordpress.com/2009/07/olpc-5.jpg
- SheevaPlug - http://upload.wikimedia.org/wikipedia/commons/7/7b/SheevaPlug_with_external_drive_enclosure.jpg
- Touchbook - http://www.h-online.com/open/news/item/Touch-Book-Linux-based-touch-screen-device-announced-740317.html?view=zoom;zoom=1