From Fedora Project Wiki
(F21 remix for Raspberry Pi 2 is no longer listed on the F21 Remixes page.)
 
(89 intermediate revisions by 15 users not shown)
Line 1: Line 1:
{{shortcut|Arch:ARM}}
{{shortcut|Arch:ARM}}
{{autolang|base=yes}}
{{shortcut|Arch:AArch64}}


{| style="width: 50%; float: right; margin-left: 2em;"
{| style="width: 50%; float: right; margin-left: 2em;"
|-
|-
| style="border-width: 0;" | {{admon/tip | Here are some links to help you get started with Fedora ARM, fast:|
| style="border-width: 0;" | {{admon/tip | Have a question? | Join the Fedora ARM team on IRC in {{fpchat|#fedora-arm}} on [https://libera.chat Libera]
 
[http://arm.fedoraproject.org Download Fedora ARM] now!
 
Includes support for [[Architectures/ARM/F21/Installation#For_the_Banana_Pi_.28Allwinner_A20.29 | Banana Pi (Allwinner A20)]], [[Architectures/ARM/F21/Installation#For_the_CubieTruck_.28Allwinner_A20.29 | CubieTruck (Allwinner A20)]], [[Architectures/ARM/F21/Installation#For_the_BeagleBone_.28_Black_.26_White_.29 | BeagleBone (Black & White)]], [[Architectures/ARM/F21/Installation#For_the_CompuLab_TrimSlice | CompuLab TrimSlice (NVIDIA Tegra 2)]], [[Architectures/ARM/F21/Installation#For_the_Wandboard_.28Freescale_i.MX6.29 | Wandboard (Freescale i.MX6)]], [[Architectures/ARM/F21/Installation#For_the_Pandaboard | PandaBoard (OMAP4)]], [[Architectures/ARM/F21/Installation#For_Versatile_Express_Emulation_with_QEMU|Versatile Express (Cortex A9 & A15 emulation)]] and more!
 
Have a question? Join the Fedora ARM team on IRC in {{fpchat|#fedora-arm}} on http://freenode.net
}}
}}
|}
|}
Line 16: Line 10:
= Introduction =
= Introduction =


ARM chips are the most widely-produced processor family in the world; they have historically been used in cell phones and embedded applications, and are increasingly used in tablet devices and low-power-consumption servers.
Welcome to the architecture page for an ARM. This covers both ARMv7 (aka armhfp, aarch32, and arm-32) and aarch64 (aka ARMv8 and arm64).  


The Fedora-ARM project is an initiative to bring Fedora to this processor family.
Fedora on ARM supports a wide variety of hardware from large enterprise aarch64 SBSA compliant hardware down to cheap single board computers (SBCs). We're primarily focused on Servers, SBCs, IoT, and other use cases similar to the Fedora Workstation / Server / Cloud that other Fedora architectures support.


= Fedora ARM Talks from Flock 2014 =
The Fedora software stack experience across the 32 and 64 bit ARM architecture variants is very similar and, in most cases, identical to what you would find on any other Fedora architecture. We use a single upstream kernel for all devices. Fedora 36 is the last version to support ARMv7, so the 32-bit boards and support matrix below will be removed when Fedora 36 goes EOL. Users of hardware that supports 32-bit and 64-bit (A53/A72/etc) environments are encouraged to use aarch64 images.


* [http://www.youtube.com/watch?v=5I6s0J_bw60 "State of ARM and aarch64 in Fedora" by Peter Robinson]
* [http://www.youtube.com/watch?v=h88gltCWT1w "ARM Server Update" by Jon C Masters]


= Fedora ARM Quick Start Guide =


New to ARM and not sure how to get started? What is the difference between ARM and ARMHFP? Use our Secret Decoder Ring document to get up to speed quickly and start
== Getting started ==
using and contributing to Fedora ARM.


* [[Architectures/ARM/Secret_Decoder_Ring|ARM Secret Decoder Ring]]
The first starting point for ARM is the [[Architectures/ARM/Installation | ARM Installation Guide]].


= Download the Latest Stable Release =
== Download ==
====Fedora 22====
This is the most recent stable release of Fedora. These images have been tested and are recommended for most users and includes Versatile Express (QEMU), Banana Pi, CubieTruck, Trimslice, Beaglebone, Wandboard, and Pandaboard hardware platforms. The full release announcement can be found [[Architectures/ARM/F22_Release_Announcement|here]].
Board specific installation instructions:


* [[Architectures/ARM/F22/Installation#For_the_Banana_Pi_.28Allwinner_A20.29 | Banana Pi (Allwinner A20)]]
=== Current stable release ===
* [[Architectures/ARM/F22/Installation#For_the_CubieTruck_.28Allwinner_A20.29 | CubieTruck (Allwinner A20)]]
* [[Architectures/ARM/F22/Installation#For_the_BeagleBone_.28_Black_.26_White_.29 | BeagleBone (Black & White)]]
* [[Architectures/ARM/F22/Installation#For_the_CompuLab_TrimSlice | CompuLab TrimSlice (NVIDIA Tegra 2)]]
* [[Architectures/ARM/F22/Installation#For_the_Wandboard_.28Freescale_i.MX6.29 | Wandboard (Freescale i.MX6)]]
* [[Architectures/ARM/F22/Installation#For_the_Pandaboard | PandaBoard (OMAP4)]]
For virtualization through QEMU:
* [[Architectures/ARM/F22/Installation#For_Versatile_Express_Emulation_with_QEMU|Versatile Express (Cortex A9 & A15 emulation)]]


====Fedora for ARM - Releases and Remixes====
If you are looking to use Fedora on a device that isn't mentioned above it may not have official support due to licensing issues or lack of upstream support.  Unofficial Fedora remixes are available for additional targets including many of the latest devices.


* [[Architectures/ARM/Releases|Currently supported releases and remixes]]
* The current stable release for aarch64 can be found at [https://alt.fedoraproject.org/alt/ Alternate Architectures landing page] or [https://getfedora.org/ Get Fedora]
* [[Architectures/ARM/Archive/Releases| Release Archive]]


====Raspberry Pi ====
* [[ Architectures/ARM/Fedora_Linux_35 | Fedora 35 Hardware Status ]]
Pidora, the optimized Fedora Remix released by Seneca College can be found at http://pidora.ca/ .


=== Creating a Fedora Remix for ARM ===
=== Current development release ===
Many ARM boards are not yet fully supported in the upstream kernel - by using this guide you can create your own Fedora ARM disk image.


* [[Architectures/ARM/Creating_Remixes | Creating Fedora ARM Remixes]]
The development release is Fedora Rawhide:


= Download the Latest Development Release =
* [https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/ Fedora Rawhide (AArch64 only)]
== Fedora 22 Alpha ==


The latest development release for Fedora 22 includes Desktop spins, Workstation and Server images. For a list of supported hardware platforms and installation instructions:
== Supported Hardware and Devices ==
* [[Architectures/ARM/F22/Installation | Fedora 22 Alpha]]


== Rawhide ==
We support a wide variety of hardware and devices from numerous Single Board Computers (SBCs) like the Raspberry Pi 2 and 3 to Chromebooks and SBSA compliant Servers.


These images are intended for development use only and are not recommended for the average user.
Here is a list of device pages based on device category or SoC:


* [http://koji.fedoraproject.org/koji/tasks?state=closed&view=tree&method=appliance&order=-id Rawhide Images].
* [[Architectures/ARM/Raspberry_Pi|Raspberry Pi]]
* [[Architectures/ARM/Chromebook|Chromebooks]]
* [https://docs.fedoraproject.org/en-US/fedora/latest/install-guide/  SBSA and SystemReady machines]
** [[Architectures/ARM/LX2160A|Honeycomb LX2/Clearfox CX LX2 devices]]
** [[Virtualization targets, Hyper-V, EC2]]
* [[Architectures/ARM/96Boards|96Boards devices]]
* [[Architectures/ARM/AllWinner|All Winner based devices]]
* [[Architectures/ARM/mvebu|Marvell EBU based devices (64-bit 7k8k+)]]
* [[Architectures/ARM/Tegra|nVidia Tegra based devices]]
* [[Architectures/ARM/RockChips|RockChips based devices]]
* [[Architectures/ARM/Qualcomm|Qualcomm]] including laptops
* [[Architectures/ARM/exynos|Samsung EXYNOS based devices]] e.g., Odroid XU4
* [[Architectures/ARM/TI|Texas Instruments based devices]]
* [[Architectures/ARM/Xilinx|Xilinx ZynqMP based devices]]
* Older 32-bit hardware (F36 only)
** [[Architectures/ARM/iMX6|NXP i.MX6 based devices, Newer i.MX8 should be via SystemReady firmware.]]
** [[Architectures/ARM/STi|STMicroelectronics based devices]]


=Get Involved with Fedora ARM=
We don't directly support devices such as phones and tablets, but it's not to say that without the required kernel/bootloader they don't work; it's just not our primary focus.
=== Communication ===
* Mailing list: {{fplist|arm}} ([http://lists.fedoraproject.org/pipermail/arm/ archives])
* IRC: {{fpchat|#fedora-arm}} on http://freenode.net
* Trac for Fedora ARM issues is [https://fedorahosted.org/arm here]
* Trac for infrastructure (koji,DB,etc) issues is [http://trac.proximity.on.ca/projects/fedoraarm here]
* Trac for Raspberry Pi Fedora Remix issues is [http://trac.proximity.on.ca/projects/rpfr here]


=== Meetings ===
= Supported Hardware Addons =
* IRC: {{fpchat|#fedora-meeting-1}} First Wednesday of the Month at 20:00 UTC (4PM EDT) on http://freenode.net ([https://fedoraproject.org/wiki/Architectures/ARM/Meetings/Archive/ archives])
* [[Architectures/ARM/i2c|i2c and devices attached to i2c]]
* [[Architectures/ARM/gpio|Using the GPIO]]


* [[Architectures/ARM/Meetings/FUDCon Lawrence 2013]]
= Get Involved with Fedora ARM =
* [[Architectures/ARM/Meetings/FUDCon Blacksburg 2012]]


= Development =
=== Communication ===
=== Bug Reporting ===
Arm specific bugs should be reported in [https://bugzilla.redhat.com/ Bugzilla] and linked to the ARM tracker. If the bug is considered a [[QA:SOP_blocker_bug_process|Blocker Bug]] or [[QA:SOP_freeze_exception_bug_process|Freeze Exception]] it should also be linked to the current Fedora release.
* [https://bugzilla.redhat.com/show_bug.cgi?id=245418 ARM Bug Tracker]


For assistance troubleshooting ARM specific bugs visit {{fpchat|#fedora-arm}} on http://freenode.net or contact the {{fplist|arm}} mailing list.
* Mailing list: {{fplist|arm}} ([https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org/ archives])
* IRC: {{fpchat|#fedora-arm}} on https://libera.chat/


=== Planning ===
=== Meetings ===
* [[Architectures/ARM/Planning/Primary|Draft Proposal for Primary Architecture Push]]
* IRC: {{fpchat|#fedora-meeting-2}} Every Tuesday at 15:00 UTC.
=== Resources ===
Detailed information on Fedora-ARM:
* [http://arm.koji.fedoraproject.org/koji/ Fedora ARM Koji (package builder) instance]
* [[Architectures/ARM/Package Maintainers|Information for Fedora package maintainers on getting your packages to work on ARM]]
* [[Architectures/ARM/Team and Developers|Information for Fedora-ARM team members (and prospective team members!) plus developers]]
* [[Architectures/Fedora_ARM_Kernel_Updates|Updating a Fedora Kernel on ARM Systems]]
* [[Architectures/ARM/Performance|Various tips and hacks to improve Fedora ARM performance]]
* [[Architectures/ARM/Archive|Resource Archive]]


===AArch64 ===
=== Scratch an itch ===
AArch64 is the name for the new 64-bit ARM architecture, also known as ARMv8.  For information regarding this exciting new architecture please visit the AARCH64 wiki.  
All architectures are now integrated into the standard Fedora process. We don't diverge in any way. So without even realizing everyone is already involved. To get involved in something more specific whether that's support for particular pieces of hardware or hardware feature, a particular piece of software, to help test or to scratch an itch a good spot to start is the mailing list or IRC channel.
* [[Architectures/AArch64 | AArch64 Wiki]]


===Technical Talks===
=== Bug Reporting ===
We host semi-regular ARM Tech Talks on #fedora-arm and #fedora-arm-talks (FreeNode). The topics are varied, and have included ARM processor errata (cache controller specifics), debugging kernels with gdb, and how to install Fedora on a Google Chromebook. You can give a talk by signing up on the [[Architectures/ARM/Talks/ARMTechTalks | ARM Tech Talks]] page.
Bugs should be reported against their prospective packages as per the standard Fedora process. Add a blocker of "ARMTracker" which will link to our [https://bugzilla.redhat.com/show_bug.cgi?id=245418 ARM architecture tracker bug]. If the bug is on a pre-release version of Fedora and you feel it's release affecting it might be considered a [[QA:SOP_blocker_bug_process|Blocker Bug]] or [[QA:SOP_freeze_exception_bug_process|Freeze Exception]] in which case it should be reported in the [https://qa.fedoraproject.org/blockerbugs/ QA Blocker bug app].
 
<!--
 
----
 
'''OLD PAGE CONTENTS HERE'''
-- page was renamed from ARM --
 
= 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 [[TomCallaway/SecondaryArchitectures|  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.
 
== Contribute ==
* This is a tracking page for packages requiring patching to build on ARM: [[Architectures/ARM/Packages_needing_patching]]
!-- * A list of builds that are failing on ARM architecture is maintained [http://arm.koji.fedoraproject.org/packages_to_be_fixed.html 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 [[Architectures/ARM/TODO|TODO list]].
* Have a look at the [[Architectures/ARM/Credits| 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 [http://zenit.senecac.on.ca/wiki/index.php/Fedora_ARM_Secondary_Architecture CDOT ARM wiki]
 
=== How to get in touch? ===
* The [https://admin.fedoraproject.org/mailman/listinfo/arm 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 [http://paulfedora.wordpress.com Paul Whalen's ARM blog]
* Some old postings from November 2009 and earlier are available at the [http://fedora-arm.blogspot.com 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 [https://bugzilla.redhat.com/show_bug.cgi?id=F-ExcludeArch-ARM  Bugzilla ]
 
If a bug is specific to ARM architectures make the bug blocking '''ARMTracker'''


to see not yet resolved issues visit [https://bugzilla.redhat.com/show_bug.cgi?id=ARMTracker  Bugzilla ]
=== Getting help with ARM build issues ===
=== 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:
<pre>
make SECONDARY_CONFIG="-c ~/.koji/arm-config" build
</pre>


To kick off a koji scratch build, run:
The best place to get help with ARM issues is on #fedora-arm on [https://libera.chat Libera]. The Fedora users and developers from around the world will assist when they are available but due to the many time zones, your question may not be answered right away so its best to remain in the channel. You can also email the Fedora ARM mailing list for assistance.
<pre>
koji -c ~/.koji/arm-config build --scratch dist-f13 /path/to/srpm
</pre>
You can change the dist tag to the dist you want to target.


There is also a separate [http://arm.koji.fedoraproject.org/koji/ Fedora ARM Koji Webinterface].
[[Category:ARMv7]][[Category:AArch64]]
-->
[[Category:Arch-specific SIGs]][[Category:SIGs]]
[[Category:Arch-specific SIGs]][[Category:SIGs]]
[[Category:Fedora special-interest groups|ARM]]
[[Category:Fedora special-interest groups|ARM]]
[[Category:Fedora ARM]]

Latest revision as of 20:22, 15 November 2022

Shortcut:
Arch:ARM
Shortcut:
Arch:AArch64
Idea.png
Have a question?
Join the Fedora ARM team on IRC in #fedora-arm[?] on Libera

Introduction

Welcome to the architecture page for an ARM. This covers both ARMv7 (aka armhfp, aarch32, and arm-32) and aarch64 (aka ARMv8 and arm64).

Fedora on ARM supports a wide variety of hardware from large enterprise aarch64 SBSA compliant hardware down to cheap single board computers (SBCs). We're primarily focused on Servers, SBCs, IoT, and other use cases similar to the Fedora Workstation / Server / Cloud that other Fedora architectures support.

The Fedora software stack experience across the 32 and 64 bit ARM architecture variants is very similar and, in most cases, identical to what you would find on any other Fedora architecture. We use a single upstream kernel for all devices. Fedora 36 is the last version to support ARMv7, so the 32-bit boards and support matrix below will be removed when Fedora 36 goes EOL. Users of hardware that supports 32-bit and 64-bit (A53/A72/etc) environments are encouraged to use aarch64 images.


Getting started

The first starting point for ARM is the ARM Installation Guide.

Download

Current stable release

Current development release

The development release is Fedora Rawhide:

Supported Hardware and Devices

We support a wide variety of hardware and devices from numerous Single Board Computers (SBCs) like the Raspberry Pi 2 and 3 to Chromebooks and SBSA compliant Servers.

Here is a list of device pages based on device category or SoC:

We don't directly support devices such as phones and tablets, but it's not to say that without the required kernel/bootloader they don't work; it's just not our primary focus.

Supported Hardware Addons

Get Involved with Fedora ARM

Communication

Meetings

Scratch an itch

All architectures are now integrated into the standard Fedora process. We don't diverge in any way. So without even realizing everyone is already involved. To get involved in something more specific whether that's support for particular pieces of hardware or hardware feature, a particular piece of software, to help test or to scratch an itch a good spot to start is the mailing list or IRC channel.

Bug Reporting

Bugs should be reported against their prospective packages as per the standard Fedora process. Add a blocker of "ARMTracker" which will link to our ARM architecture tracker bug. If the bug is on a pre-release version of Fedora and you feel it's release affecting it might be considered a Blocker Bug or Freeze Exception in which case it should be reported in the QA Blocker bug app.

Getting help with ARM build issues

The best place to get help with ARM issues is on #fedora-arm on Libera. The Fedora users and developers from around the world will assist when they are available but due to the many time zones, your question may not be answered right away so its best to remain in the channel. You can also email the Fedora ARM mailing list for assistance.