Fedora for Banana Pi
Summary
Fedora is a cutting-edge, RPM-based Linux distribution known for shipping the latest upstream software, strong security defaults with SELinux, and thorough systemd integration. Running Fedora on the Banana Pi gives you access to a modern Linux environment with enterprise-grade security features on affordable ARM hardware. Fedora's six-month release cycle ensures you always have access to recent kernel versions and package updates, making it an excellent choice for developers and security-conscious users.
Who This Is For
This guide is intended for intermediate to advanced Linux users who are familiar with the Fedora ecosystem and want to run it on the Banana Pi. It is particularly useful for developers who need the latest software packages, system administrators who rely on SELinux, and those who prefer the RPM/dnf package management workflow.
What You'll Do
You will download the Fedora ARM image for Banana Pi, verify its integrity, flash it to a microSD card, complete the first boot setup, configure the system using dnf and firewalld, and apply performance optimizations for the Banana Pi's hardware constraints.
Requirements
- Banana Pi board (M1 or compatible model)
- A microSD card (8 GB or larger, Class 10 recommended)
- A reliable 5V/2A micro-USB power supply
- Ethernet cable or compatible USB Wi-Fi adapter
- HDMI display and USB keyboard for initial setup (or SSH for headless configuration)
- A computer with a microSD card reader for flashing
Download and Verification
Download the Fedora ARM image for Banana Pi from mirror.lemaker.org or the official Fedora ARM download page. Obtain the accompanying checksum file and GPG signature. Verify the image with sha256sum Fedora-ARM-bananapi.img.xz and compare against the published checksum. For additional assurance, verify the GPG signature using Fedora's official signing key. Extract the image with xz -d Fedora-ARM-bananapi.img.xz.
Flash Procedure
Insert your microSD card into the card reader. On Linux, use lsblk to identify the device, then write the image with dd if=Fedora-ARM-bananapi.img of=/dev/sdX bs=4M status=progress. Alternatively, use Fedora's arm-image-installer tool for a guided process. On Windows, use Etcher or Win32DiskImager. Verify the correct target device before writing. Safely eject the card once writing is complete.
First Boot Steps
Insert the microSD card into the Banana Pi, connect peripherals, and power on. Fedora will launch an initial setup wizard where you create a user account, set the root password, configure the timezone, and establish a network connection. The first boot may take several minutes as the system generates cryptographic keys and expands the root filesystem. If using headless mode, connect via SSH once the board obtains a DHCP address.
Post-Boot Configuration
Update the system immediately with sudo dnf upgrade --refresh. Fedora uses firewalld for network security — verify its status with sudo firewall-cmd --state and allow SSH access with sudo firewall-cmd --permanent --add-service=ssh && sudo firewall-cmd --reload. SELinux is enabled by default in enforcing mode; check status with getenforce. Install additional packages with sudo dnf install <package>. For performance on the Banana Pi's 1 GB RAM, consider disabling the graphical desktop (sudo systemctl set-default multi-user.target), using a lightweight desktop like LXDE, or adding swap space via a swap file.
Troubleshooting
- Board does not boot: Re-flash the image and verify the checksum. Try a different microSD card, as not all cards are compatible.
- SELinux denials blocking services: Review denials with
sudo ausearch -m avc -ts recent. Useaudit2allowto generate custom policy modules if needed. Do not disable SELinux — set it to permissive temporarily withsudo setenforce 0for debugging only. - Out of memory errors: Create a swap file:
sudo fallocate -l 1G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile. Add it to/etc/fstabfor persistence. - Slow package operations: Use
dnf's fastest mirror plugin and reduce metadata refresh frequency in/etc/dnf/dnf.conf.
Related Guides
Author: LeMaker Documentation Team
Last updated: 2026-02-10