It must have been the year 2020 when Linux was becoming a real pain in the ass for me, so it seemed the time had come for a proper evaluation of the BSD family of operating systems. The logical first step was to try NetBSD since it’s been said to support more platforms than anything else, aside from Linux, of course. Unfortunately the experiment lasted for all of two seconds because it wouldn’t boot from the flash drive. Frustrated and lacking patience, I moved on without any kind of investigation and never bothered to test it on the Raspberry Pi Zero which I’d bought some time before.
OpenBSD was interesting because it seemed to have a sensible project goal and often gets high praise from its users, but my own experience was far from good. While it did boot up and install on the T430, the apparent lack of colored text and an unusually sluggish keyboard repeat delay was most uncomfortable to use. Another thing was the initial shock of certain commands missing entirely, one of those gotchas for unsuspecting users. This would last for a few hours as I learned some of the command differences between BSD and Linux, and seeing ls(1) lacking the option for colored output was particularly disturbing since I’d gotten used to directories and executables being color-coded to differentiate them from ordinary files. The one thing I could not move past was the apparent lack of proper documentation.
Here we have someone with just over a decade of Linux use but only a couple of years involving actual system administration, suddenly thrown into this foreign and somewhat unforgiving environment where the familiar commands do not behave as expected, if they even exist at all. Sure, we get man pages for every tool on the system, but from what I saw the man pages were often quite terse and more confusing than their equivalents on Void, and that’s when I even knew what man page to look for. This is in stark contrast to the claim on the website that they have superior documentation… I don’t remember if the FAQ existed yet or if it was even near what it was in 2023, but my conclusion at the time was that OpenBSD can only be loved by those who are intimately familiar with BSD or Unix in general and actually know what they are doing. I had no clue what I was doing and wasn’t sure I wanted to learn by trying to decipher the man pages, which by all appearances were the only real documentation. In less than a day this experiment was terminated, and I wouldn’t come back again until three years later.
The next logical step was to try FreeBSD, which has excellent documentation for idiots like me. Even years earlier when I first tried it, FreeBSD seemed like a decent operating system that I could use on a daily basis for most tasks, though I imagine it was deleted because it didn’t behave like Linux Mint. Booting and installing was fairly painless, as was setting up the network. Reading the FreeBSD Handbook was probably the most pleasant experience out of any operating system I’ve used, and within a few hours the machine was all set and ready to go. Hardware support on the T430 was better than expected as the volume keys and brightness controls worked from within the console, and battery life was about 7.5 hours after tweaking some config files. Something about the layout and overall configuration of the system felt like it made more sense than Linux, certainly more cohesive and refined. There were man pages that I’d never even seen on Linux such as hier(7) and tcp(4), among others. These would later be added to Void, much to my delight.
After more than two years in the Void it would take a lot to pull me out, and up to this point no other operating system I knew about was capable of doing this, regardless of what packages were available that Void didn’t have. It was the one OS which would end my distro hopping for six years solid. Despite this, I liked FreeBSD enough to have it installed on its own SSD, which was needed because Calf studio gear wouldn’t work under FreeBSD for reasons I could not figure out. I’d been using Calf to compensate for a lack of hearing aids when listening to music, but eventually I got tired of dual-booting and quit using Calf to try and preserve what was left of my hearing. I’d stop booting into Void altogether and spend an entire year in FreeBSD, getting more comfortable with the closest thing to a real Unix descendant that I could get my hands on.
When I got sick of music without Calf I’d come back to Void and find that the differences between the two systems were far more clear. I was torn between FreeBSD’s sensible configuration and stability compared to Void’s sheer speed and up-to-date packages. I kept Void as the daily driver in spite of the problems, thinking I could always go back to FreeBSD whenever I wanted. As fate would have it, I would soon be cut off from both Calf and FreeBSD for some time to come.
At some point I’d bought a Raspberry Pi Zero to build a portable, low power terminal. The goal was to make it the primary interface for an ambitious home automation project I was designing. Being a v1.3 board meant no network access, so in 2020 I got the Pi Zero W in the hopes of building a low-power laptop with a battery runtime of nearly 24 hours, another ambitious idea which never became reality. The furthest I got was a Pi Zero W running Void with an Ethernet hat, no case and no WiFi: just a bare board laying out in the open collecting dust. The Pimoroni 8” IPS display panel was purchased for the above terminal project and sat in a box unused because I had no idea how to mount it. I would play with this setup on and off for a little while, trying to write code for a weather station and testing some Go programs I was working on.
Then in 2021 a series of thunder storms came through and knocked over several trees, tore the power line off the side of the house and caused a bit of flooding. Early one morning, lightning struck too close to the house and destroyed some electronics which included a smart TV, a signal converter and… the T430.
The machine was still plugged in to a plain old extension cord despite knowing the weather was turning bad again. The 2.5” 1TB SSD had either been killed by the surge or by me dropping the dead laptop in an attempt to harvest its insides. This is not the first time I’ve lost data: the old HP desktop taught me how important it is to have backups of the backup when both of its HDDs failed in the same week, taking out years of music, photos, archived websites and countless other files in the blink of an eye. The 256GB SSD with Void installed was still intact, as was the 1TB mSATA which contained a full copy of everything that was on the dead drive, so I carefully put this inside one of the anti-static bags the Pi boards were shipped in, treating it like a holy relic while I waited for an adapter to arrive and only plugging it in when it was absolutely necessary.
This left me in the awkward position of having just the Raspberry Pis, a Udoo Bolt v8 and a 15” FHD display which I hated to use from the Linux console because the resolution was too high and I didn’t want to keep an X session running full-time to compensate by running st(1). By then I’d quit playing Minetest and was no longer using Blender, so the Udoo Bolt v8 was hardly used. Eventually I got the Eyoyo 8” 1024x768 IPS monitor and would use it for the Pi, along with the Raspberry Pi keyboard. This would be my daily driver for nearly two years solid while the Bolt would collect dust. Surprisingly it wasn’t that bad unless I needed to compile some Go code, but this was uncommon since I’d pretty much quit programming after the home automation project triggered a downward spiral which spawned a 6500 word document explaining why my code sucks and how I’m an A-hole…
In a way it feels like the universe was pushing me towards this comically under-powered configuration with the death of the T430, but I would come to prefer this over the other setups. Something just felt right about having only enough display to show a single 80x30 console session, while tmux would allow quickly switching between sessions so I wouldn’t go insane with the CTRL-ALT-Fn key combination. The Pi was never set up with X because it seemed superfluous for such a low-powered machine.
By January 2023 it had been a few years since I read anything at sysdfree, so out of curiosity I went exploring to see what developments I’d missed. Apparently there was a lot, and some of it involved my dearly-beloved daily driver Void Linux. I won’t get into too much detail but suffice it to say there was some drama which lead to the founder of Void and primary developer of the xbps package manager to leave the project.
This was rather concerning, as was the claim that Void had been silently deleting packages from the repository and even removing them from the machines of its users, without notification. This mainly involved elogind replacing consolekit-2, but I also noticed nmap was not in the repository anymore, nor was it on the Udoo Bolt. That was very alarming since I relied on nmap to find the IP address of my other machines when using SSH, so there was absolutely no reason why it wouldn’t be installed. I cannot prove that it was deleted by the package manager, but it certainly seemed plausible since the Bolt had sat unused for two years and was updated just prior to reading about these changes.
In light of these developments and the other problems I was having with Linux, the continued spread of systemd and the fear of it taking over completely, I felt the need to once again explore alternative operating systems and would even consider leaving Linux for good. Some might call this an overreaction, after all, isn’t it human nature to panic when something we hold so dear is facing the possibility of unwanted change? Void had been my home for six years, and once I’d calmed down it was decided to just watch the news to see if things got any worse. Really there was no reason to abandon ship unless it went the way of so many others and adopted systemd as the One True Init… Of course this wouldn’t stop me from at least trying to get something else running on the Udoo Bolt or even the Raspberry Pi.
The Bolt proved to be more trouble than I anticipated, and the end result was to keep Void on the Bolt as a file server while the Pi would run NetBSD 9.1 with a modified Geoff Graham VT100 terminal emulator plugged into the 8” monitor. This was my primary working setup for most of 2023, and it certainly had some quirks. Despite the rough start and a few odd things I couldn’t fix, it was working for me. The faint static of the VGA signal, the fuzzy yellow text, the fact that the font was constant no matter what operating system I was using, this was probably the best hardware setup I could have asked for at the time despite the limited capabilities of the Pi. My strange obsession with vintage terminals was finally being satisfied after more than a decade of wanting, without having to use an actual 40lb behemoth that would have raised the electric bill a fair bit.
Later that year I bought a Lenovo T490 and tried to install FreeBSD, only to find that it didn’t support my WiFi card. I then tried OpenBSD 7.3 and soon discovered just how wrong I’d been the first two times. While the FAQ was not nearly as complete as the FreeBSD Handbook, it was certainly enough to get me started while (actually) reading the fantastic manpages. Suddenly what had once been one of my least favorite operating systems had now found a place in my top three list, and I would run it for the next year and a half on both the T490 and the Bolt. This led to another huge paradigm shift as the tools I’d been using were replaced with what was already included in the base system, which led to even more simplicity. Out of necessity I switched to running st(1) in an X session full time, but the minimal cwm(1) was a blessing. When the T490 failed to upgrade from OpenBSD 7.5 I had no choice but to install FreeBSD 14.2 despite the lack of WiFi support, but at least I’d finally learned what it was that I’d been searching for and was able to walk away from Linux entirely.
Void is still my favorite Linux distribution, and I keep it installed on the eMMC drive in the Bolt to serve as a fallback in case the main OpenBSD system goes down for some reason. It continues to be one of the few working distros that has not jumped on the systemd bandwagon, and I am grateful for its existence. I’ve even discovered that the backlight controls on the T490 work in the console under Void! Nonetheless, the BSDs are the right answer for what I aim to achieve, and while I have resorted to running an X session full time, I find that it’s just as comfortable as that tiny 8” monitor with the hardware serial terminal and PS/2 keyboard.
I’ve been using the command line almost exclusively for the last eight years, sometimes even on comically underpowered hardware that could barely run most modern “desktop environments”. There is no feasible way for me to use only the terminal full time unless I win the lottery and build an analog recording studio, a darkroom and perhaps a bunch of other things I’ve wanted but can otherwise only afford if I use a GUI program to communicate with some tiny board that replaces large and heavy pieces of rackmount equipment.
Despite the apparent necessity of a GUI for certain tasks, I find that the vast majority of what I do can still be done in the command line even in 2025, and it’s usually far more efficient this way. It’s just a matter of finding the right tools for the job and learning how to use them. Many such tools have been around since Unix was an experiment at Bell Labs, and still more have come along to keep up with the ever changing demands of a large and complex computer-driven world. But in a perfect digital world, no matter what OS or hardware is used, all things serve the command line.