Klaus on Tilde Town

What distro do I recommend for the Raspberry Pi in 2022?

I'll just start off by saying that this sort of title for an essay is indeed reeking of clickbait, so I'm sort of sorry for choosing one like this. Also, "listicles" for this sort of thing pop up anywhere in the Linux community with their "Top 10 Distros of 20XX" or "Top 5 distros for XYZ," and I really don't mean to be the judge of something that ultimately is down to somebody's personal preference.

So why am I writing this article, you ask? Well, after about 2 years of owning a Raspberry Pi, I'm doing this to record some findings. Hopefully the insights that I share here can be useful not only for a beginner looking for their first distro, but also developers when looking to port their project for the Pi.

Alright, enough of suspense. The Operating System that I personally recommend for the Raspberry Pi as of 2022 is...

Debian Linux.

This is the part where a lot of people start booing and hollering about the decision. Why, oh, why did you choose Debian? You obviously haven't tried distro X. Distro Y is just so much more polished. Etc.

Thankfully, this is also the part where I lay down my reasons to justify it.

Why?

For the longest of times, I would summarize my experience of Debian in a single sentence like this: Debian is Linux minus the bullshit. Profanity aside, the point was this: if you want to get up and running quickly with a Linux distribution, Debian is a great choice. You get a preinstalled desktop environment, a decent choice of software and the installer is very straightforward. It might not be as minimalistic and bottom up as Arch and its derivatives, but you get something very complete, and not as bloated and sometime borderline malicious like Ubuntu. Thus, I chose to stay with Debian for most of my Linux experience.

As time passed, you might say that I "graduated" out of the comfort of Debian and into something a little more power user-like, building things a little closer to scratch with Arch, Artix and more recently, Alpine, but the basic principle of "Linux minus the bullshit" remained. Whenever I need to spin up a quick and dirty machine from zero (like those from the trash, for example), burning the Debian ISO and installing into the drive is a no-brainer for me.

And so, the Pi. Very well, if installing an OS in a PC is as straightforward as burning a disk image into flash media, then booting and installing from there, shouldn't the same apply for the Raspberry Pi? Here's where the answer differs - and sometimes a lot - depending on the distribution.

Debian correctly follows the trend, and all you need to do is download the right image for your Pi, then burn to an SD card and boot it. You'll get to the root user prompt straight away and then, well... you can take it from there. It's minimalistic, sure, but everything you need is an apt-get install away. Wanna work on command-line only? apt-get install tmux vim (...). Need a graphical environment? apt-get install xorg <your favorite wm>. Etc. Get creative.

The install process is quick and simple, so that you don't have to waste time there.

But why not ...?

Other apparently more power user-oriented distros put a large hurdle in the installation process alone. These include requirements to manually partition the install medium, extract and do additional overlay configuration before even getting the OS to boot!

Arch's Pi install process, for example, is about as complex as the classic manually-chrooted arch install - and that's only to prep the medium to boot. Caveats exist when you're booting from the USB instead of SD card, or when ARMv8 of Raspberry Pi 4 is the platform instead of ARMv7. Even the controversial Manjaro, which was supposed to be easy with a burnable image file has presented some problems to me.

Alpine, which I love very much for desktop use, is also shamefully complex in its medium prepping / partitioning requirements (note how the wiki references several other guides in its instructions), bitterly in contrast to the joy and simplicity of its setup-alpine installer command on the desktop. Oh, and sysmoding it is a whole new can of worms, good luck with that.

On the other hand, the noob starter line of the defaulted Raspbian or Ubuntu aren't distros that I can recommend completely. Though it is straightforward to download and install, Rasbpian did a cunning move last year or so where it silently sneaked in Microsoft repo URLs into the repos that would persist with updates even if users opted out. Too much of "we know what's better for you" to me. Raspbian also presents a weird version of the applications available for it (ex: pcmanfm is watered-down and has no tab support), and official versions are not available from the repos.

I understand that the Raspberry Pi doesn't boot or work exactly like a traditional computer, architectural differences and all, but the truth is that if some OSes can make their distributions download-burn-boot easy, why can't the others? At least there should be a ready-made image in the form of a standard install, and the power users could get their hands dirty if they want to. I need to spend time configuring my system, not getting it to boot.

Conclusion

By offering the best balance between minimalism and the ease of use and installation, Debian Linux takes the cake as the distro I would recommend on the Raspberry Pi in 2022. I have not and do not claim to have tested every distribution available for the Pi, and there are indeed other distros that I consider fair runner-ups for this platform:

In some way, I might be just "noobing" in the sense that I couldn't get some OSes to boot from my own inexperience, so I will keep an eye out to try them out again in the future. Also, there might be other brilliant OSes that I just didn't get to try out it. So this post isn't definitive, and next year and on I might re-do it. One thing that is definitely in my mind is OpenBSD, which I plan to try even in the PC, so there's that.


Do you have a Raspberry Pi that you use regularly? What Operating system do you recommend for it? Let me know in Mastodon!


This post is number #36 of my #100DaysToOffload project. Follow my progress through Mastodon!


Last updated on 08/30/22