Playing with FreeBSD

What’s all the fuss about FreeBSD? What is it, anyway?, I remember these thoughts going through my head, sometime last year. There were quite a few people posting enthusiastically about FreeBSD on the Fediverse. Having used Linux for many years, I was vaguely aware of the idea that BSD is some flavour of Unix—a family of free and open source computer operating systems. My curiosity was triggered, and I decided to learn more about it. I guess even the Fediverse has influencers.

A black Thinkpad T14 laptop, with the FreeBSD boot menu. The logo is a stylized red demon.
Seeing this boot screen makes me very happy.
Alt. textA black Thinkpad T14 laptop, with the FreeBSD boot menu. The logo is a stylized red demon.

Why you’d want to use a particular operating system is a matter of personal preference, of course. A few things stood out to me, as I started to read more about the BSDs. The stellar documentation, native support for features such as ZFS, Jails and Bhyve, and a very positive and welcoming community are some of those strongpoints. I can highly recommend Stefano’s essay Why I Love FreeBSD to learn more about what makes FreeBSD special. In the remainder of this article, I’ll point you to helpful resources, so you can start to explore the world of FreeBSD on your own.

I’ve installed my first FreeBSD server on a VPS, simply by following the Handbook, and I’ve used the same Handbook to install the system on my laptop three months later. This may not sound like a big deal, but it really is: the Handbook is a friendly guide, it is reasonably up to date (as far as I can tell) and quite informative. No more franctic searching on Stackoverflow or Reddit for the desired answers is needed: the Handbook’s got your back. This was really a breath of fresh air to me, and it taught me a lot about basic computer (system) architecture and networking in the process.

For even more information, you can consult the Manual Pages via the man command or online. Again, this may not sound like a big deal, but the quality of the Manual Pages is generally superb. I really appreciate being quickly able to find out how to use and configure parts of the system, right from the OS itself. And if you still can’t find the answer, the FreeBSD Documentation page list even more resources. This level of love and attention given to the documentation bodes well for the quality of the overall OS.

Another major part of why I was attracted to FreeBSD is its simplicity, stability and predictability. It has a fixed system hierarchy (see man hier for an overview), which means that it’s easy to find config files and the like. The init system is also straightforward, and configuring services is easy as a result. Overall, the tools you need to manage the system work well for their intended purpose, according to the Unix philosophy. This makes working on the system a joy. I love the fact that you can configure most (all?) settings in simple text files.

Native support for ZFS is also a really big point in FreeBSD’s favour for me personally. ZFS is not just a filesystem. It’s a filesystem, volume manager, and software RAID implementation rolled into one. This quote is from a great article to learn more about ZFS: FreeBSD Foundationals: ZFS - The Last Filesystem You’ll Ever Need, by Christian Hofstede-Kuhn (his blog is a treasure trove of information!). In short, you can combine separate hard disks into one big storage pool, with easy RAID configurations. ZFS checks the data for errors on every write (and optionally, periodically), so that silent bitrot is a thing of the past. It can even correct these errors, if you’ve used multiple disks in a redundant setup—in that case, it can also recover from faulty harddisks (depending on the configuration). In case all of that is not cool enough to you, it has native encryption, compression and extensive snapshot support, which allows for easy backup/restore functionality.

There are many more examples of why you may want to choose FreeBSD as an operating system. I won’t go into them in detail—not only because the article would become very long, but also because I’m still learning about all of its features myself. Some of the other fancy stuff include Jails: these provide isolation for services, and I’ve already used these extensively (this is the initial guide I followed). Another example is the native Virtual Machine support via Bhyve, which I’ve used to run HomeAssistantOS on FreeBSD, with a little help from this nice article.

Naturally, with all these advantages and cool features, I also really wanted to run it on my laptop. There, things get a little bit more challenging: features like suspend/resume (or even WiFi) don’t always work on all laptops—you have been warned. I’ve decided to bite the bullet and do so anyway, and as a bit of Blogumentation, I’m documenting my experience here. Luckily, with Project Laptop, FreeBSD support for laptops is set to improve in the near future.

Last, but certainly not least: the FreeBSD community is vibrant, positive and welcoming. My first encounter with FreeBSD was via the Fediverse posts of Stefano Marinelli (mentioned earlier), who is also the friendly “Barista” of the online BSD Café. A lot of BSD Café regulars have given me great advice and help with my initial questions—too many people to list, also outside of the Café. One kind person even spun up a virtual machine to answer my questions about ZFS setups. All in all, it felt like a very warm welcome into this community. I’m very grateful for all the help I’ve received, as well as for the mind boggling amount of work the contributers have put into the project—including code, documentation, and community building.

I hope I’ve given you a small glimpse into the world of (Free)BSD. I’m convinced that the value and succes of any endeavour like this is largely determined by the people who believe in it; the people who carry it forward. Software is meant to lift all of us up: we’re in this together, building a shared dream of the digital commons. FreeBSD is helping that dream to live on.


Further reading

I’m still getting to know the BSD community, but these are some valuable blogs I’ve come across (in no particular order):

I hope to get to know many more of you—feel free to contact me!


Ruben VerweijA smiling Ruben Verweij. I have brown hair and brown eyes. The background is green. https://kedara.eu/playing-freebsd/