This article comes courtesy of Peter Robinson, member of the Fedora release engineering team. Peter has worked for several years on the general release and also hardware architectures such as ARM and Power. Here, Peter announces some big news for Raspberry Pi hackers.

So support for the Raspberry Pi in Fedora has been a long time coming and yes, it’s FINALLY here with support landing just in time for Beta!

The most asked question I’ve had for a number of years is around support of the Raspberry Pi. It’s also something I’ve been working towards for a very long time on my own time. The eagle-eye watchers would have noticed we almost got there with Fedora 24, but I got pipped at the post because I felt it wasn’t quite good enough yet. There were too many minor issues around ease of use.

Why has it taken so long?

Basically it comes down to four things:

  1. Decent upstream kernel/userspace hardware support without binary drivers.
  2. Firmware redistribution.
  3. The ability to be able to support it in Fedora ARM without adding vast extra workload to the small group supporting/QAing Fedora.
  4. Time — It’s been a pet project, but like many things, it’s relied upon getting open drivers done, and kernel support upstream. All of this has been out of our hands and takes time.

What’s supported?

We support everything you’d expect from a device supported by Fedora. We have a proper Fedora supported upstream userspace and kernel, with all the standard Fedora features like SELinux support. It receives the usual array of updates so no need to exclude kernel updates! The kernel supports all the drivers you’d expect, like various USB WiFi dongles, etc. You can run whichever desktop you like (more on those below) or Docker/Kubernetes/Ceph/Gluster as a group of devices — albeit it slowly over a single shared USB bus!

Raspberry Pi 2

The hardware support here is pretty good. I’ve been testing a minimal install, Workstation, and XFCE. We have the usual MMC/USB/network, as well as fully accelerated graphics with an open driver, as well as lot of the other on board hardware. You’ll want to invest in a good quality Class 10 micro SD card, though, for best results.

Raspberry Pi 3

The hardware support here is very similar to that of the Raspberry Pi2 in terms of standard device support. We don’t currently support the onboard WiFi/Bluetooth, so at the moment it’s a faster version of the RPi2. We’re working to enable the WiFi soon, now the firmware is able to be distributed. There’s a few other quirks documented well in the upstream Raspberry Pi3 support summary here.

We currently only support this as a ARMv7 device like the upstream Raspberry Pi Foundation. I realize that aarch64 support is now upstream. We’ll eventually support it too, but there’s quite a bit of extra work to support it well. Given the Raspberry Pi3 has a limitation of 1Gb RAM, the 64 bit support provides less advantage than a single set of images to support both devices.

What’s not supported (yet!)

The state of various components, such as WiFi, sound, media decode, and HAT support, is well documented in a Frequently Asked Questions (FAQ) on the Fedora Raspberry Pi wiki here, with lots of detail. It’ll be updated as the status of various components change.

What will never be supported

Basically this is purely the old ARMv6 Raspberry Pis. This currently includes the Zero, Model A, older “v1” Raspberry Pi model B, and the current generation “compute module.” For these, use Pignus (note I’ve not tested it).

We’ll support the announced newer compute 3 module when it’s available. Similarly any new future device support will be reviewed as information becomes available.

Getting started

So enough of me dribbling on here you say? Just GET IT WORKING NOW!! Well here you go….

There detailed options for setting up a SD card for Linux, Windows and MacOS detailed on the Fedora Raspberry Pi wiki page. Details of the latest images are there too but you can get Fedora 25 Beta images for Workstation, Server and various Spins and Minimal image directly.

To write the image to the card you can use a terminal with the following command. Remember to use the correct /dev/XXX for your card and to update the image name!

xzcat Fedora-IMAGE-NAME.raw.xz | sudo dd status=progress bs=4M of=/dev/XXX

There’s other options documented in the wiki. You’ll also have to resize the root filesystem (we shrink it to minimise the download). The easiest way to do this is with gparted before you plug it into your Raspberry Pi.

On the first boot you’ll get presented with the standard initial setup to create a user. Similar to the LiveCDs on x86 we don’t have default users and passwords due to security.

Getting help

So where can you get help if it’s not working? The usual Fedora support forums are: