From Fedora Project Wiki
(302 intermediate revisions by 46 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 [irc://irc.freenode.net/fedora-arm #fedora-arm] on [http://freenode.net Freenode]
}}
|}


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


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


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 Server, SBCs, IoT and other usecases that are similar to the Fedora Workstation / Server / Cloud that other Fedora architectures support.


== Goals and Objectives ==
The Fedora software stack experience across both 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 solely upstream kernels and don't use different kernels for each different ARM device we support.


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.
The current stable release for ARMv7 can always be found at the [https://arm.fedoraproject.org/ ARM Image landing page]


=== CPU and Architecture Target ===
The current stable release for aarch64 can always be found at [https://alt.fedoraproject.org/alt/ Alternate Architectures landing page]


The baseline ARM CPU architecture that we have chosen to support is ARMv5, 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.
== Current development releases ==


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.
There are currently two development releases. Fedora 26 is in the stabilisation phase, Fedora rawhide (27) is in the development phase.


=== Installer and Kernel ===
= Supported Hardware and Devices =


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.
We support a wide variety of hardware and devices from numerous Single Board Computers (SBCs) like the Raspberry Pi 2 and 3 through to Chromebooks and SBSA compliant Servers.  


== Getting Started with the Fedora ARM Port ==
Here is list of device pages based on device category or SoC:


The easiest way to get started is to download a [http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/rootfs-f10.tar.bz2 prebuilt root filesystem] built from F8 packages that includes yum. This is suitable to chroot into, and then installing additional packages as needed using yum. You can use [http://fabrice.bellard.free.fr/qemu/ QEMU] as well. You should also be able to customize it for your environment easily (e.g., configure it for booting over NFS, or from a hard-drive, etc.).
* [[Architectures/ARM/Raspberry_Pi|Raspberry Pi]]
* [[Architectures/ARM/Chromebook|Chromebooks]]
* [http://docs.fedoraproject.org/en-US/Fedora/26/html/Installation_Guide/chap-pxe-server-setup.html SBSA aarch64 Servers]
* [[Architectures/ARM/96Boards|96Boards devices]]
* [[Architectures/ARM/AllWinner|All Winner based devices]]
* [[Architectures/ARM/mvebu|Marvell EBU based devices]]
* [[Architectures/ARM/Tegra|nVida Tegra based devices]]
* [[Architectures/ARM/iMX6|NXP i.MX6 based devices]]
* [[Architectures/ARM/RockChips|RockChips based devices]]
* [[Architectures/ARM/STi|STMicroelectronics based devices]]
* [[Architectures/ARM/exynos|Samsing EXYNOS based devices]]
* [[Architectures/ARM/TI|Texas Instruments based devices]]


* [[Architectures/ARM/HowToQemu|  Using Fedora ARM with Qemu]]
We don't directly support devices such as phones and tablets but it's not to say that without the required kernel/bootloader know how that they don't work, it's just not our primary focus.


If you are interested in an account on an ARM machine, contact LennertBuytenhek.
= Get Involved with Fedora ARM =


== Fedora ARM Repositories ==
== Communication ==


The work to date is available from: [http://ftp.linux.org.uk/pub/linux/arm/fedora/] .
* Mailing list: {{fplist|arm}} ([https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org/ archives])
* IRC: {{fpchat|#fedora-arm}} on http://freenode.net


=== Fedora 10 ===
== Meetings ==
The following is available for F10:
* IRC: {{fpchat|#fedora-meeting-2}} Every Tuesday at 16:00 UTC.


* A [http://ftp.linux.org.uk/pub/linux/arm/fedora/diffs-f10/ set of patches]  necessary to make Fedora packages build for ARM.
== Scratch an itch ==
* A set of source RPMs from the [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/releases/10/Everything/source/SRPMS/ base F10 repository]  and from [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/updates/10/SRPMS/ F10 updates repository]  that have been modified to build for ARM.
All architectures are now integrated into the standard Fedora process. We don't diverge in any way. So without even realising 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.
* A set of binary RPMs from the [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/releases/10/Everything/arm/os/Packages/ base F10 repository]  and the [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/updates/10/arm F10 updates repository] .
* A [http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/rootfs-f10.tar.bz2 prebuilt root filesystem]  to help you get started quickly.


=== Fedora 8 ===
== Bug Reporting ==
The following is available for F8:
Bugs should be reported against their prospective packages as per 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].


* A [http://ftp.linux.org.uk/pub/linux/arm/fedora/diffs-f8/ set of patches]  necessary to make Fedora packages build for ARM. Our goal is to get all these patches merged into Fedora, as many of them as possible in the Fedora 9 development cycle.
== Getting help with ARM build issues ==
* A set of source RPMs from the [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/releases/8/Everything/source/SRPMS/ base F8 repository]  and from [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/updates/8/SRPMS/ F8 updates repository]  that have been modified to build for ARM.
* A set of binary RPMs from the [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/releases/8/Everything/arm/os/Packages/ base F8 repository]  and the [http://ftp.linux.org.uk/pub/linux/arm/fedora/pub/fedora/linux/updates/8/arm F8 updates repository] .
* A [http://ftp.linux.org.uk/pub/linux/arm/fedora/rootfs/rootfs-f8.tar.bz2 prebuilt root filesystem]  to help you get started quickly.


=== And more ===
[[Category:ARMv7]][[Category:AArch64]]
We also provide:
[[Category:Arch-specific SIGs]][[Category:SIGs]]
* an ARM [[Architectures/ARM/CrossToolchain|  cross toolchain]] , built from Fedora sources.
[[Category:Fedora special-interest groups|ARM]]
* a utility called [[Architectures/ARM/RfsBuild|  Rfsbuild]] for building ARM Root File Systems.
 
What work is left to be done?
* We have a TODO list [[Architectures/ARM/TODO|  here]] .
 
== How to get in touch? ==
* The [http://www.redhat.com/mailman/listinfo/fedora-arm Fedora-ARM mailing list] is available for both user and developer discussions.
* We also have an IRC channel #fedora-arm on Freenode.

Revision as of 13:39, 11 July 2017

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

Introduction

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

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 Server, SBCs, IoT and other usecases that are similar to the Fedora Workstation / Server / Cloud that other Fedora architectures support.

The Fedora software stack experience across both 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 solely upstream kernels and don't use different kernels for each different ARM device we support.

Getting started

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

Download

Current stable release

The current stable release for ARMv7 can always be found at the ARM Image landing page

The current stable release for aarch64 can always be found at Alternate Architectures landing page

Current development releases

There are currently two development releases. Fedora 26 is in the stabilisation phase, Fedora rawhide (27) is in the development phase.

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 through to Chromebooks and SBSA compliant Servers.

Here is 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 know how that they don't work, it's just not our primary focus.

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 realising 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 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