From Fedora Project Wiki
No edit summary
 
(15 intermediate revisions by 3 users not shown)
Line 2: Line 2:


=General process=
=General process=
Arm devices come in both 32-bit and 64-bit variations. Armv9 is the latest version of the arm architecture and is backwards compatible with Armv8 which added 64-bit support in the form of aarch64 mode. Aarch32 is the Armv8 32-bit compatibility mode, which is generally backwards compatible with the previous 32-bit ARMv7. Not all ARMv8+ devices support both 64-bit and 32-bit execution so its best to check the specifications on a given piece of hardware.
Fedora only supports aarch64 images which run on 64-bit ARMv8 hardware. Aarch64 machines are expected to provide a base level of UEFI support. That support may be baked into the system firmware, or provided by fedora as part of the arm-image-installer's uboot. 
==Stable Releases==
==Stable Releases==
The current stable release for ARMv7 can always be found at the [https://arm.fedoraproject.org/ ARM Image landing page]


The current stable release for aarch64 can always be found at [https://alt.fedoraproject.org/alt/ Alternate Architectures landing page]
The current stable release for aarch64 can always be found at [https://getfedora.org/ Get Fedora]


==Branched Development Release==
==Branched Development Release==
Line 11: Line 15:
The repository for current development releases:
The repository for current development releases:
  http://dl.fedoraproject.org/pub/fedora/linux/development/
  http://dl.fedoraproject.org/pub/fedora/linux/development/
http://dl.fedoraproject.org/pub/fedora-secondary/development/


==Rawhide Rolling Release==
==Rawhide Rolling Release==
<b>Rawhide Installation Tree(armhfp)</b>
http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Server/armhfp/os/
http://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/armhfp/os/
<b>Rawhide Installation Tree(aarch64)</b>
<b>Rawhide Installation Tree(aarch64)</b>
  http://dl.fedoraproject.org/pub/fedora-secondary/development/rawhide/Server/aarch64/os/
  https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Server/aarch64/
  http://dl.fedoraproject.org/pub/fedora-secondary/development/rawhide/Everything/aarch64/os/
  https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/aarch64/


=General Installation instructions for all Releases=
=General Installation instructions for all Releases=
== Fedora Arm Installer ==
== Aarch64 SBSA/SBBR, and SystemReady compliant hardware ==
{{admon/note|Note | The examples provided here are from a Fedora 24/25/26 host and may need to be adjusted depending on your host environment.}}
Machines which conform to the standard system architecture and boot requirements can be installed using normal fedora installation methods. Those methods are documented in the version specific installation instructions here https://docs.fedoraproject.org/.
 
== Arm Image Installer ==
{{admon/note|Note | The examples provided here are from a Fedora 31 host and may need to be adjusted depending on your host environment.}}


Used to deploy disk images for ARMv7hl. Execute the following script as a user with sudo privileges. It will copy the selected disk image and write the appropriate U-Boot for the target hardware platform. Optionally you can also enable and disable SE Linux and remove the root password requirement (allowing log in without completing initial setup). To add a board not listed, simply create a bash scriptlet with the commands needed to copy U-Boot to media and add to the 'boards.d' directory.
Used to deploy disk images for a limited set of Aarch64 SBCs. Execute the following script as a user with sudo privileges. It will copy the selected disk image and write the appropriate U-Boot for the target hardware platform. Optionally you can also enable and disable SE Linux and remove the root password requirement (allowing log in without completing initial setup). To add a board not listed, simply create a bash scriptlet with the commands needed to copy U-Boot to media and add to the 'boards.d' (/usr/share/arm-image-installer/boards.d) directory.


  sudo dnf -y install fedora-arm-installer
  sudo dnf -y install arm-image-installer


<pre>
<pre>
Usage: fedora-arm-image-installer <options>
Usage: arm-image-installer <options>


--addconsole    - Add system console to extlinux.conf
        --image=IMAGE   - xz compressed image file name
--addkey=      - /path/to/ssh-public-key
        --media=DEVICE - media device file (/dev/[sdX|mmcblkX])
--image=IMAGE - xz compressed image file name
Optional
--media=DEVICE - media device file (/dev/[sdX|mmcblkX])
        --addconsole    - Add system console kernel parameter for the target
--norootpass - Remove the root password
        --addkey        - /path/to/ssh-public-key
--resizefs - Resize root filesystem to fill media device
        --args          - Optional kernel parameters listed in quotes
--supported - List of supported hardware
        --norootpass   - Remove the root password
--target=TARGET - target board
        --relabel      - SELinux relabel root filesystem on first boot
--version - Display version and exit
        --resizefs     - Resize root filesystem to fill media device
-y - Assumes yes, will not wait for confirmation
        --showboot      - Show boot messages, removes 'rhgb quiet' from kargs
        --sysrq        - Enable System Request debugging of the kernel
        --target=TARGET - target board for uboot
        -y             - Assumes yes, will not wait for confirmation
Help
        --supported    - List of supported hardware
        --version      - Display version and exit


Example: fedora-arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0
Example: arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0
</pre>
</pre>


All available targets are stored in a file called ''SUPPORTED-BOARDS''.
All available targets are stored in a file called ''SUPPORTED-BOARDS'':


  cat /usr/share/doc/fedora-arm-installer/SUPPORTED-BOARDS
  cat /usr/share/doc/arm-image-installer/SUPPORTED-BOARDS


== Network Installation ==
== Network Installation ==


A network installation is the preferred installation method for current Aarch64 hardware targets but can also be used for ARMv7hl. In order to begin you will need to setup the installation server, a guide can be found below:
A network installation is a preferred installation method for current Aarch64 hardware targets. In order to begin, you will need to setup the installation server, a guide can be found below:


http://docs.fedoraproject.org/en-US/Fedora/26/html/Installation_Guide/chap-pxe-server-setup.html
    https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/advanced/Network_based_Installations/

Latest revision as of 23:40, 19 April 2023

Installing Fedora on your ARM device.

General process

Arm devices come in both 32-bit and 64-bit variations. Armv9 is the latest version of the arm architecture and is backwards compatible with Armv8 which added 64-bit support in the form of aarch64 mode. Aarch32 is the Armv8 32-bit compatibility mode, which is generally backwards compatible with the previous 32-bit ARMv7. Not all ARMv8+ devices support both 64-bit and 32-bit execution so its best to check the specifications on a given piece of hardware.

Fedora only supports aarch64 images which run on 64-bit ARMv8 hardware. Aarch64 machines are expected to provide a base level of UEFI support. That support may be baked into the system firmware, or provided by fedora as part of the arm-image-installer's uboot.

Stable Releases

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

Branched Development Release

The repository for current development releases:

http://dl.fedoraproject.org/pub/fedora/linux/development/

Rawhide Rolling Release

Rawhide Installation Tree(aarch64)

https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Server/aarch64/
https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/aarch64/

General Installation instructions for all Releases

Aarch64 SBSA/SBBR, and SystemReady compliant hardware

Machines which conform to the standard system architecture and boot requirements can be installed using normal fedora installation methods. Those methods are documented in the version specific installation instructions here https://docs.fedoraproject.org/.

Arm Image Installer

Note.png
Note
The examples provided here are from a Fedora 31 host and may need to be adjusted depending on your host environment.

Used to deploy disk images for a limited set of Aarch64 SBCs. Execute the following script as a user with sudo privileges. It will copy the selected disk image and write the appropriate U-Boot for the target hardware platform. Optionally you can also enable and disable SE Linux and remove the root password requirement (allowing log in without completing initial setup). To add a board not listed, simply create a bash scriptlet with the commands needed to copy U-Boot to media and add to the 'boards.d' (/usr/share/arm-image-installer/boards.d) directory.

sudo dnf -y install arm-image-installer
Usage: arm-image-installer <options>

        --image=IMAGE   - xz compressed image file name
        --media=DEVICE  - media device file (/dev/[sdX|mmcblkX])
Optional
        --addconsole    - Add system console kernel parameter for the target
        --addkey        - /path/to/ssh-public-key
        --args          - Optional kernel parameters listed in quotes
        --norootpass    - Remove the root password
        --relabel       - SELinux relabel root filesystem on first boot
        --resizefs      - Resize root filesystem to fill media device
        --showboot      - Show boot messages, removes 'rhgb quiet' from kargs
        --sysrq         - Enable System Request debugging of the kernel
        --target=TARGET - target board for uboot
        -y              - Assumes yes, will not wait for confirmation
Help
        --supported     - List of supported hardware
        --version       - Display version and exit

Example: arm-image-installer --image=Fedora-Rawhide.xz --target=Bananapi --media=/dev/mmcblk0

All available targets are stored in a file called SUPPORTED-BOARDS:

cat /usr/share/doc/arm-image-installer/SUPPORTED-BOARDS

Network Installation

A network installation is a preferred installation method for current Aarch64 hardware targets. In order to begin, you will need to setup the installation server, a guide can be found below:

   https://docs.fedoraproject.org/en-US/fedora/f36/install-guide/advanced/Network_based_Installations/