Fedora ARM
This is the starting page for the Fedora port to the ARM architecture.
Goals and Objectives
The primary goal of this project is to provide support for ARM as a secondary architecture in Fedora.
A secondary goal is to enable derivative distributions based on the Fedora package collection and repository that are more suitably optimized for embedded and mobile use-cases.
Technical Approach
Native Compilation
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.
CPU and Architecture Target
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.
Getting Started with the Fedora ARM Port
The easiest way to get started is to download a prebuilt root filesystem built from F12 packages that includes yum. This is suitable to chroot into, and then installing additional packages as needed using yum.
- Using Fedora ARM with Qemu
- Using Fedora ARM with Sheevaplug
- Using Fedora ARM on a Sheevaplug from USB drive
- Installing Fedora ARM on a Sheevaplug
If you are interested in an account on an ARM machine, contact LennertBuytenhek.
Fedora ARM Repositories
The work to date is available from: [1] .
Latest Release: Fedora 12
The following is available for F12:
- A set of patches necessary to make Fedora packages build for ARM.
- A set of source RPMs from the base F12 repository which also includes packages that have been modified to build for ARM. (still being rsyned...).
- A set of binary RPMs from the base F12 repository and the F12 updates repository (still being rsynced...).
- A prebuilt root filesystem to help you get started quickly. (Default root password is "fedoraarm")
Older Fedora releases
See this page.
And more
We also provide:
- an ARM cross toolchain, built from Fedora sources.
- a utility called Rfsbuild for building ARM Root File Systems.
Contribute
- A list of builds that are failing on ARM architecture is maintained here. It is a good starting point for anyone willing to contribute to the Fedora-ARM project. The list is updated daily.
- We have a TODO list.
- Have a look at the Credits page
How to get in touch?
- The Fedora-ARM mailing list is available for both user and developer discussions.
- We also have an IRC channel #fedora-arm on Freenode.
- Frequent updates about the effort are available at the Fedora-ARM blog
Tracker Bugs
If excluding ARM architectures you need to make the bug block F-ExcludeArch-ARM
to see whats currently blocking visit Bugzilla
If a bug is specific to ARM architectures make the bug blocking ARMTracker
to see not yet resolved issues visit Bugzilla
Package Maintainer Notes
As part of setting up to be a package maintainer, you should have run fedora-packager-setup from the fedora-packager rpm. That will write secondary arch config files in ~/.koji. To kick off a build for a package you maintain, run:
make SECONDARY_CONFIG="-c ~/.koji/arm-config" build