From Fedora Project Wiki
(fix incorrect SRPM path)
(Include BeaglePlay and SK-AM69 boards)
 
(342 intermediate revisions by 48 users not shown)
Line 1: Line 1:
<!-- page was renamed from ARM
{{shortcut|Arch:ARM}}
-->
{{shortcut|Arch:AArch64}}


= Fedora ARM =
{| style="width: 50%; float: right; margin-left: 2em;"
|-
| 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]
}}
|}


This is the starting page for the Fedora port to the ARM architecture.
= Introduction =


Welcome to the architecture page for ARM. Note Fedora no longer supports ARMv7 (aka armhfp, aarch32, and arm-32), only 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.


== Goals and Objectives ==
The Fedora software stack experience on the 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. Users of hardware that supports both 32-bit and 64-bit (A53/A72/etc) environments must use aarch64 images.


The primary goal of this project is to provide support for ARM as a [[TomCallaway/SecondaryArchitectures|  secondary architecture]]  in Fedora.
== Getting started ==


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.
The first starting point for ARM is the [[Architectures/ARM/Installation | ARM Installation Guide]].


== Technical Approach ==
== Download ==


=== Native Compilation ===
=== Current stable release ===


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 current stable release for aarch64 can be found at [https://getfedora.org/ Get Fedora]


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.
* Platforms that should work since the F35 timeframe [[ Architectures/ARM/Fedora_Linux_35 | Fedora 35 Hardware Status ]]


=== Installer and Kernel ===
=== Current development release ===


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.
The development release is Fedora Rawhide:


== Getting Started with the Fedora ARM Port ==
* [https://download.fedoraproject.org/pub/fedora/linux/development/rawhide/ Fedora Rawhide (AArch64 only)]


The easiest way to get started is to download a [http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/rootfs-f12.tar.bz2 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.
== Supported Hardware and Devices ==


* [[Architectures/ARM/HowToQemu|  Using Fedora ARM with Qemu]]
We support a wide variety of hardware and devices from numerous Single Board Computers (SBCs) like the Raspberry Pi 3 and 4 to Chromebooks and SBSA compliant servers.
* [[Architectures/ARM/PlatformSheevaplug|  Using Fedora ARM with Sheevaplug]]
* [[Architectures/ARM/SheevaplugUSB| Using Fedora ARM on a Sheevaplug from USB drive]]
* [[Architectures/ARM/SheevaplugInstaller| Installing Fedora ARM on a Sheevaplug]]


If you are interested in an account on an ARM machine, contact LennertBuytenhek.
Here is a list of device pages based on device category or SoC:


== Fedora ARM Repositories ==
* [[Architectures/ARM/Raspberry_Pi|Raspberry Pi]]
* [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
** [[Thinkpad_X13s|Lenovo X13s (WIP)]]
* [[Architectures/ARM/exynos|Samsung EXYNOS based devices]] e.g., Odroid XU4
* [[Architectures/ARM/TI|Texas Instruments based devices]]
** [[BeaglePlay|BeaglePlay]]
** [[SK-AM69|SK-AM69 Starter Kit]]
* [[Architectures/ARM/Xilinx|Xilinx ZynqMP based devices]]


The work to date is available from: [http://ftp.linux.org.uk/pub/linux/arm/fedora/] .


=== Latest Release: Fedora 12 ===
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.
The following is available for F12:


* A [http://ftp.linux.org.uk/pub/linux/arm/fedora/diffs-f12/ set of patches] necessary to make Fedora packages build for ARM.
= Supported Hardware Addons =
* A set of source RPMs from the [http://fedora-arm.wantstofly.org/pub/fedora/linux/releases/12/Everything/source/SRPMS/ base F12 repository] which also includes packages that have been modified to build for ARM. (still being rsyned...).
* [[Architectures/ARM/i2c|i2c and devices attached to i2c]]
* A set of binary RPMs from the [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/releases/12/Everything/arm/os/Packages/ base F12 repository]  and the [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/updates/12/arm F12 updates repository] (still being rsynced...).
* [[Architectures/ARM/gpio|Using the GPIO]]
* A [http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/rootfs-f12.tar.bz2 prebuilt root filesystem] to help you get started quickly. (Default root password is "fedoraarm")


=== Older Fedora releases ===
= Get Involved with Fedora ARM =
See [[Architectures/ARM/OlderReleases|this page]].


=== And more ===
=== Communication ===
We also provide:
* an ARM [[Architectures/ARM/CrossToolchain|cross toolchain]], built from Fedora sources.
* a utility called [[Architectures/ARM/RfsBuild|Rfsbuild]] for building ARM Root File Systems.


== Contribute ==
* Mailing list: {{fplist|arm}} ([https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org/ archives])
* 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.
* IRC: {{fpchat|#fedora-arm}} on https://libera.chat/
* We have a [[Architectures/ARM/TODO|TODO list]].
* Have a look at the [[Architectures/ARM/Credits| Credits page]]


=== How to get in touch? ===
=== Meetings ===
* The [http://www.redhat.com/mailman/listinfo/fedora-arm Fedora-ARM mailing list]  is available for both user and developer discussions.
* IRC: {{fpchat|#fedora-meeting-2}} Every Tuesday at 15:00 UTC.
* We also have an IRC channel #fedora-arm on Freenode.
* Frequent updates about the effort 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 ]
=== 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.


If a bug is specific to ARM architectures make the bug blocking '''ARMTracker'''
=== 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 [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].


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>


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.
[[Category:AArch64]]
[[Category:Arch-specific SIGs]][[Category:SIGs]]
[[Category:Arch-specific SIGs]][[Category:SIGs]]
[[Category:Fedora special-interest groups|ARM]]

Latest revision as of 09:37, 16 April 2024

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 ARM. Note Fedora no longer supports ARMv7 (aka armhfp, aarch32, and arm-32), only 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 on the 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. Users of hardware that supports both 32-bit and 64-bit (A53/A72/etc) environments must use aarch64 images.

Getting started

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

Download

Current stable release

  • The current stable release for aarch64 can be found at Get Fedora


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 3 and 4 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.