đź…­

Fedora Linux specific tweaks for Raspberry Pi

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

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

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 Linux already does many of the most commonly mentioned optimizations by default. 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 Linux. 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 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 Linux 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 Linux 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.

At the very least, you’ll want to use Cockpit Software Updates to remotely manage software updates.

Reduced logging to disk

Wear-out from excessive write operations is a common concern for low-resource systems like the Raspberry Pi that relies on SD cards for storage. Fedora Linux 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 have anything new or revolutionary to share in this text. I believe that’s generally a good thing and only mans Fedora Linux provides a pretty good experience right out of the box on any hardware.