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
- Using Fedora ARM on a Sheevaplug with the rootfs on a SD Card
- Installing Fedora ARM on a Sheevaplug
- Installing Fedora ARM on a Guruplug
If you are interested in an account on an ARM machine, contact Chris Tyler or Paul Whalen.
Fedora ARM Repositories
The work to date is available from: ftp.linux.org.uk.
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 binary RPMs from the base F12 repository, but no updates repository. Source RPMS are currently unavailable.
- 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.
- Script to build prebuilt root filesystems
Contribute
- This is a tracking page for packages requiring patching to build on ARM: Architectures/ARM/Packages_needing_patching
- We have a TODO list.
- Have a look at the Credits page
- Fedora ARM is currently heavily driven by the Seneca Centre for Development of Open Technology (CDOT) at the School of Computer Studies at Seneca College, Toronto. More information about their status can be found in the CDOT ARM wiki
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 Paul Whalen's ARM blog
- Some old postings from November 2009 and earlier 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
To kick off a koji scratch build, run:
koji -c ~/.koji/arm-config build --scratch dist-f13 /path/to/srpm
You can change the dist tag to the dist you want to target.
There is also a separate Fedora ARM Koji Webinterface.