Raspberry Pi 3 box with Fedora

Fedora specific tweaks for Raspberry Pi

Fedora 25 added support for Raspberry Pi 2 Model B and 3 Model B, and is as excellent a choice for your Raspberry Pi as it is for your desktop and laptop PCs. It comes with up to date packages and technology as you expect from Fedora. Here are a few things you can do to get a slightly longer lifetime from your SD card and a better experience running Fedora on your Raspberry Pi.

These tips were written for Fedora 25 and 26 Server edition, but are applicable for Workstation and other editions.

If you poke around the web, you’ll find quite a few tips for improving the life expectancy of your SD card — all focused around reducing write operations — and gaining performance on the Raspberry Pi. Fedora already does many of the most commonly mentioned optimizations out of the box including disabling the recording of file “access times” (when a file was last opened) and the use of chronyd over ntpd for internet time keeping.

There are still some things you can do on a low-resource system like any model Raspberry Pi to improve your experience:

Disable delta RPM updates

Delta RPM updates are designed to reduce the bandwidth requirement of keeping packages up to date in a fast-moving ecosystem such as Fedora. However, this bandwidth saving comes at the expense of more CPU processing times. The latter is more likely to be the limiting factor on a Raspberry Pi, so unless you really need to keep your bandwidth use down – then you’ll get much faster system updates by disabling delta RPMs.

To disable the use of delta RPMs, set the deltarpm option to False in /etc/dnf/dnf.conf.

Auto-update

By default, Fedora will fetch new updates to the package repository metadata once ever hour. You may wish to tune this down to once or twice a day instead. I’ve covered this already in a previous article (towards the end) that also contains some other tips on getting the most out of DNF.

Fedora doesn’t automatically download nor install updates to your system. However, if you can admit to yourself that you’re lazy and unlikely to actively maintain the system on a regular basis, you should consider configuring fully automatic updates with DNF.

Reduced logging to disk

A common concern for low-resource systems like the Raspberry Pi that rely on SD cards forstorage, is that the cards ware out from excessive write operations. Fedora defaults are already quite good in this area. You should still review any extra software you’ve installed to the system to make sure they’re well-behaved.

Excessive log writing can be a source of unnecessary writes. Except for CRIT, ALERT or EMERG who are written to disk immediately, the systemd journal will only log to disk every five minutes (the SyncIntervalSec option controls this behavior). This is a nice way to reduce log-writes. You should review your /var/log/ directory and reconfigure programs not currently logging to systmed, and refer to their manuals for ways to reduce their logging verbosity. You probably don’t need all log messages.

In the spirit of not needing every logmessage, you can also configure the systemd journal to store fewer less-important messages to disk. You can drop info, notice, and debug messages by setting the MaxLevelStore, MaxLevelSyslog, and MaxLevelConsole options to "warning" in /etc/systemd/journald.conf. Any message including and above this logging level (emerg, alert, crit, err, and warning) will be stored in the journal, and lower priority messages will be ignored.


So I didn’t really have anything new or revolutionary to share in this text. I believe that is generally a good thing and only mans Fedora provides a pretty good experience right out of the box on any hardware.

The feature image incorporates elements from the photo “Raspberry Pi 3” by © 2016 Julien G. Min, used under the terms of CC BY 2.0.