Changes/ARM as Primary
ARM as primary Architecture
Make ARM a primary architecture. add armv7hl to the i686 and x86_64 as arches that we build every package for. This will mean that all packages supported by the ARM architecure must build for ARM to be released. As of Fedora 19 we have dropped support for software floating support so we are only talking about adding hardware floating point 32 bit support (ARMv7 hfp 32bit).
- Name: Dennis Gilmore, Peter Robinson
- Email: firstname.lastname@example.org email@example.com
- Release notes owner:
- Targeted release: Fedora 20
- Last updated: 2013-07-02
- Tracker bug: <will be assigned by the Wrangler>
The Changing IT landscape has started to focus on greener technologies. One thing thats changing due to this is that ARM cpu's traditionally the domain of embedded and mobile applications are finding themselves moving into the desktop, notebook and server markets. Fedora ARM works on many different devices.
For this change we will enable armv7hl builds on primary koji, and compose arm trees as with the other primary architectures. Fedora has in the Phoenix data centre 96 quad core Calxeda EnergyCore server nodes each had a quad core 1.4ghz soc, 4gb ram and 250gb hdd. Some of these nodes will remain allocated to the arm secondary architecture koji instance for building updates for the current Fedora 18 and 19 releases. When Fedora 18 goes end of life the ARMv5 softfp nodes will able to be be reallocated to other tasks. Infrastructure has expressed an interest in testing and experimenting with some of its workloads on ARM, some are allocated to QA and some for releng. There is currently 24 nodes configured in primary koji ready to go as builders, there is the capacity to add 24 more when ARM becomes primary if desired.
The kernel is now a multi platform unified ARMv7 kernel supporting a number of SoCs with support expanding with each new upstream release. We build a base and LPAE variant similar to i686. There is an ARM specific (ARMv7 and aarch64) kernel maintainer working in collaboration with the fedora kernel team. The releases are composed using the exact same tooling as used for the primary architectures. Disk images for development boards are generated by appliance-creator and the kickstarts live in spin-kickstarts, they take a similar format as the livecds on primary but are shipped as an OEM disk image, and like primary initial-setup is used to do final user configuration. Like primary pungi is used to generate an install tree, PXE install trees are created but current bootloaders don't support isofs so ISO images aren't currently created.
Benefit to Fedora
This change enables fedora to embrace and be instrumental in the emerging ARM ecosystem. There are currently servers and desktop-like systems that can be used to run Fedora. ARM systems use very little power, the OLPC XO 1.75 and newer devices are all ARM based. Calxeda based servers are shipping today. We could look at having tablet spins in the future but that is currently outside the scope of this Change. By adopting this change we will be embracing the future. There are numerous ARM-based set-top box and HDMI dongle systems that have support landing in the upstream kernel. We can enable support as upstream support lands, allowing us to have a large number of ARM systems that are affordable and can run Fedora.
Add armv7hl to list of arches for f20-build and future build tags in koji compose armhfp trees with i386 and x86_64. Requisite build hardware already exists in phx2 and is configured to talk to koji.
- Proposal owners: change the arches in koji, import the matching rawhide builds into koji. update Release Engineering scripts to automatically build armhfp trees along with i386 and x86_64
- Other developers: submit builds as normal, in the event of unexpected build failures talk to the ARM Team to help debug and fix issues
- Release engineering: Will need to add armhfp to the release processes and make arm install trees and disk images with each milestone compose. Release Engineering are the people proposing the Change.
- Policies and guidelines: armv7hl builds will be required to complete for builds to be successful in koji
Systems running Fedora 18 or 19 should be upgradeable in the same way that x86 systems are.
How To Test
There are many different test vectors, most visible to developers will be that when they submit a build a armv7hl build happens also. Any supported ARM system should work as it does today for ARM as a secondary arch.
User experience does not change. The only difference will be the path in which they use to download files from on the mirrors.
There are no special depeendencies. Hardware in Phoenix is already installed, there are release engineering boxes for doing composing on, there is hardware available for QA use.
- Contingency mechanism: (What to do? Who will do it?) if for some reason we fail horribly at migrating into primary we would go back to secondary, the fix would be removing armv7hl from the build arches by Release Engineering
- Contingency deadline: Alpha
- Blocks release? Yes