I’ve spent two decades entrenched in the world of Linux, running countless distros and maintaining production servers. Lately, I began a new adventure, one that feels both wonderfully nostalgic and deeply challengin Diving headfirst into FreeBSD and using it as a “daily driver” for my development needs.
My initial experience is a paradox: I love it and I hate it.
TLDR; If you value true learning and want to own your operating system , get started with FreeBSD right away . If you want something which works out of the box, Install either Debian or Linux mint .
It truly reminds me of the old Linux days—the feeling that nothing works out of the box, and you have to manually delve into the system to force it to function. That sense of accomplishment when you finally get a basic driver working? Priceless. But yeah, you’ve just wasted a few hours on it…
But here is the single biggest, mind-blowing reason I have stuck with it so far: The FreeBSD Handbook.
📘 The FreeBSD Handbook is a Miracle
Seriously, the FreeBSD Handbook is an absolute wonderful piece of documentation. I can now say RTFM! It’s a comprehensive, well-structured, and (mostly) up-to-date document that details the entire operating system from installation to advanced networking. It’s incredible to have everything so cohesive and documented in one place.
This makes learning about Unix and FreeBSD so much easier. It’s going to give you a dive into everything and to be sincere, I find it much easier to grasp than the LPIC handbooks. Maybe I’m looking at it after 15 years from when I first went through LPIC but I feel it’s a great learning experience for ANYONE who wants to learn about Unix.
In this context, working with FreeBSD made me appreciate the Linux community’s achievement as nothing short of a miracle. The stability and cohesiveness of a system like Debian—which “just works” out of the box with automatic configuration and neat user interfaces—is truly astonishing. This is a profound testament to the open source developers of the world.
However, the contrast between the excellent documentation and the messy reality is striking.
🚧 My FreeBSD Installation Experience So Far
I approached FreeBSD as a complete beginner, intent on learning ALL the information to use it for all my work and server needs. What I found was a system that is incredibly interesting but fundamentally puts up a wall for newcomers.
The Installation Process is Legacy and Buggy if you’re running it from a non standard hardware
I’m not going to sugarcoat it: the installer is a significant problem for newbies out there.
- Crashes and Quirkiness: I had to attempt the installation sequence on various devices (laptops, VMs) at least 30 times. It constantly suffers random crashes or fatal errors (especially if network setup fails), forcing a complete restart. This is a very bad user experience. It’s so flaky that it would make even a seasoned Linux veteran question the system’s rock-solid stability.
- Lack of GUI Option: The installer is bare-bones, reminiscent of 80s/90s Unix or old Debian installers. I don’t mind the look, but the lack of an optional integrated choice to install a desktop environment (GUI) from the base installation puts a huge burden on new users. You are instantly thrown into the deep end of the CLI. Sure, they can easily just type
pkg install xorg kde mate xfceand have a working system up, but they also need to install some drivers. Everything is documented so this shouldn’t be a problem. - Hardware Roulette: I failed to get a full working install on an HP Z620 and an ASUS notebook with Nvidia+Intel combo. I only succeeded on an ASUS with Radeon and a Lenovo ThinkPad. This is a major hurdle for adoption.
The Boot Fiasco A CLI Fix
After one successful install to one system, my system couldn’t boot because the UEFI boot information was not correctly written to the main drive. Worse yet, no UEFI information existed on that device at all. It’s as if everything was wiped clean. The OS was there if I booted with a recovery USB, but the BIOS couldn’t see the boot device. This only happened on 1 device, even though I reinstalled it 10 different times even with UEFI+LEGACY.
If you hit this issue, here is the terminal code fix I discovered, which requires opening a shell from the live USB/ISO:
mkdir /tmp/efi
mount -t msdosfs /dev/ada0p1 /tmp/efi
# Assuming ada0p1 is your EFI partition
sudo efibootmgr -a -c -l /boot/efi/efi/freebsd/loader.efi -L "FreeBSD 2"
umount /tmp/efi
This is the kind of manual intervention that is required—and which will send 99% of people running back to Linux Mint.
🌐 Friction, vendor lockin’s and Complexity Trade-Off’s
My plan was to jump ship completely, but this brings up the inevitable friction of transitioning from a complex Linux setup:
Boot speed
The boot speed seems a little bit faster on Linux with systemd on some systems. On FreeBSD it is also pretty fast, but depending on rc.conf and wifi setup it might take a little bit longer sometimes.
External backups Or Embracing ZFS
On Linux I’ve used LUKS Encryption with LVM on ext4 on a few external HDD’s. FreeBSD has a way easier way to setup encryption with GELI +ZFS (Note, it uses GELI encryption not ZFS’s built in encryption. This poses a problem as as neither Linux can access GELI logic. Neither FreeBSD can’t access LUKS encryption. So accessing those external HDD’s migrating data works only via VM’s or a 3rd party ZFS or ext4 filesystem.
I’ve decided to try to use ZFS on a external HDD to test this out. THe result was that my Debian Linux failed to detect the newest ZFS features so I had to upgrade the system. ZFS is a fairly new concept to me so… I’m still getting accustomed to it.
Bluetooth
On Linux in recent years, BLuetooth just works out of the box. I used to use a cabled keybaord and mouse untill 2024 just because of the bluetooth issues. On FreeBSD this requires manually loading kernel modules and setting it up, pairing etc. IN the terminal. And even then, it might not always work. There’s no GUI or builtin support to automatically handle this yet unfortunately.
Luckily for me if I have USB dongles for the keyboard or mouse it’s going to work. FOr the headset I just plug in the USB cable and it works
The move requires too much time investment in system administration and too little time on productive work. This is the complexity tax we’re often hit when we want to migrate
There are also other issues I’ve encountered, I managed to fix them by myself by either following the manual or searching on the internet. Once I got my system up and running and figured out the specifics I felt pretty OK at using it as a daily driver.
⚖️ To FreeBSD or to Linux?
Despite the pain points, I believe FreeBSD is a very interesting project. It offers a deeper, more cohesive system and a fantastic learning experience.
If you are a newcomer to the Unix world, you should choose a path:
- Use Linux (e.g., Debian, Linux Mint): If you just want to get things done, minimize the command line, and prioritize stability and hardware support and just browse the web.. don’t really care about super performance and just want things to WORK out of the box. Go for Linux.
- Use FreeBSD: If you value learning how everything works from the kernel up, have the time to debug, and appreciate a clear, cohesive base OS which is tightly integrated, has an amazing manual and where you can virtually modify everything and have a unique learning experience, go with FreeBSD.
My hope is that as more people try and adopt FreeBSD, the community will grow, the installer will stabilize, and hardware support (like for wireless and Bluetooth) will become simpler.
For now, I’ll be balancing my curiosity with my need for productivity—breaking it, fixing it, and learning with that beautiful Handbook always open.