Fedora Server on Single Board Computers - Raspberry Pi & Co.
Fedora has already supported the ARM architecture, and specifically ARM Single Board Computers (SBCs), for quite some time. Especially for these there is also a Fedora Server Edition installation media. But there are a number of pitfalls to be aware of.
Fedora Server is also available for Single Board Computers (SBC) like the well-known Raspberry Pi. Once started as an experimentation and education tool, the technology evolved into an affordable but sufficiently powerful tool for many task of everyday life. Even though these devices are very miniature and limited in power, they offer enough strength, to install a dedicated modern, solid Linux system. This is especially true for the newer alternatives to the well known Raspberry Pi.
SBC Fedora Server Edition takes advantage of the power available on SBC today to install a dedicated modern, solid server system. In the end Fedora Server works on application level exactly as otherwise familiar. Depending on the application, however, this is not necessarily a limitation for practical usability.
But not all SBC models are equally or similarly capable for a Fedora Server deployment.
Required Device capabilities
The Fedora Server Edition is only available for ARMv8/aarch64.
A fast wired network adapter is needed. Some SBCs do not have a dedicated Ethernet interface, but you need a USB adapter. Often only USB 2.0 is available for this or the Ethernet interface is connected internally via a USB 2.0 hub.
A fast, internal mass storage is required. The always available mSD card is sufficient for installation, but not for operation. An NVMe board connected via PCIe is optimal.
Finally, a solid casing is also necessary so that the device cannot suffer accidental damage during operation. The common DIY housings are not enough.
These are just a few criteria that certainly need to be expanded.
Supported by Fedora
Almost all board makers are very enthusiastic about using the open source Linux system to make their hardware usable at all and attractive to a wider audience, saving them the development of their own operating system or the licensing costs for a commercial system. They focus on the development of device drivers for their hardware, instead. In fact, to even boot, many of them require device specific software.
Unfortunately, manufacturers are sometimes much less enthusiastic to make these drivers freely available under an open source license and to integrate them into the mainline kernel. Their models are working with Linux, but only in a proprietary tainted version, propriarily customized by the manufacturer.
Fedora is dedicated and uncompromisingly Free Software, for good reason. All software involved must be open source and freely available. Fedora uncompromisingly insists on the reproducibility of all software components on their own hardware and under their complete control - especially for security and anti-fraud reasons.
Therefore, Fedora cannot and will not support boards that rely on proprietary software.
Fedora compatible are only those SBCs for whose components either the manufacturer contributes open source drivers or alternate community developed drivers are available.
Arm SIG provides a list of devices that are operable with Fedora.
Appropriate for Fedora Server Edition
Supported by Fedora is not a true/false alternative but a matter of degree and intended purpose. A specific SBC model may be able to boot with Fedora and pure free software, but e.g. graphics acceleration or WiFi does not work. As a graphical device, this is not usable, but Fedora Server wouldn’t bother because it is not used anyway. If PCIe and an m.2 interface are then available, the model would be more suitable for Fedora Server than a fully compatible device including accelerated graphics, but without a PCIe-attached m.2 interface.
Thus, the question of appropriateness depends much on several criteria and intentions of use.
How Fedora supports the diversity of Single Board Computers
Fedora distributes a generic Fedora Server Edition image, preconfigured for Raspberry Pi. Additionally, it provides a utility to transfer the image to the prospective boot medium, usually an SD card. To support multiplemodels, the transfer program is able to (re-)configure the disk image for an alternative SBC model. Optionally, it can also make some adjustments to the initial configuration.
The choice of an SBC model therefore requires careful consideration if you do not want to end up in a dead end. Fedora IoT Edition provides a concise list of references. A detailed reference list is also in preparation for Fedora Server.
When choosing a device for Fedora Server, check carefully if the available hardware capabilities are compatible with the intended use and are actually supported by Fedora. Take everything with a grain of salt. Don’t expect everything to work just smoothly with SBCs. It is best to ask in advance on the arm mailing list.
Want to help? Learn how to contribute to Fedora Docs ›