[HN Gopher] A brief look at FreeBSD
       ___________________________________________________________________
        
       A brief look at FreeBSD
        
       Author : todsacerdoti
       Score  : 92 points
       Date   : 2025-11-12 12:10 UTC (10 hours ago)
        
 (HTM) web link (yorickpeterse.com)
 (TXT) w3m dump (yorickpeterse.com)
        
       | georgehaake wrote:
       | Nicely done. Curious which VM host you used on the Mac?
        
         | YorickPeterse wrote:
         | I'm using UTM (https://mac.getutm.app/), mostly because it
         | seemed like the easiest thing to set up.
        
         | pss314 wrote:
         | FreeBSD has published a youtube video along with a blog post to
         | run FreeBSD VM on Apple Silicon.
         | 
         | - https://www.youtube.com/watch?v=CWuZLJkUBfw
         | 
         | - https://freebsdfoundation.org/blog/three-ways-to-try-
         | freebsd...
        
       | tinkelenberg wrote:
       | I recently looked into the BSDs for a desktop project before
       | going back to Debian. I love the philosophy but they're for the
       | initiated.
       | 
       | The onboarding rails just aren't there these days. Everyone says
       | the BSD documentation is superb, but the man pages are more of a
       | reference than an onboarding guide.
       | 
       | One major challenge is LLMs have a hard time with BSD-related
       | prompts. They're trained on so much more Linux content, and
       | there's just enough overlap between both systems that
       | hallucination rates are extremely high in my experience.
        
         | toast0 wrote:
         | > Everyone says the BSD documentation is superb, but the man
         | pages are more of a reference than an onboarding guide.
         | 
         | If you try it again, the FreeBSD Handbook is the onboarding
         | guide. [1] It's been a long while since I've set something up
         | going from the Handbook, so I can't personally attest to its
         | quality, but it's supposed to be good.
         | 
         | > One major challenge is LLMs have a hard time with BSD-related
         | prompts. They're trained on so much more Linux content, and
         | there's just enough overlap between both systems that
         | hallucination rates are extremely high in my experience
         | 
         | I can't imagine they work well on Linux either, because
         | different distributions have a different selection of tools,
         | especially when you consider older documentation that's still
         | out there and no longer works on mainstream distributions as
         | tools have been replaced. The same is almost certainly true for
         | MacOS and probably Windows as well. All of the OSes I can think
         | of where most of the online documentation should be consistent
         | probably don't have much online documentation. I'm not a LLM
         | user (which is probably obvious), but I can't imagine how you'd
         | get good information from it... at best, maybe you could get
         | pointers to documentation you should read and understand
         | yourself, or you could find the documentation and paste it to
         | be summarized? People that use LLMs that I've tried to help
         | with problems will tell me that the LLM told them X when it
         | doesn't make sense and it actively contributes to their
         | problem, so that doesn't give me confidence; of course, people
         | who use LLMs and it solves their problem don't need my help, do
         | they? :)
         | 
         | [1] https://docs.freebsd.org/en/books/handbook/
        
           | hiAndrewQuinn wrote:
           | >I can't imagine they work well on Linux either
           | 
           | They do, and they work better on Ubuntu/Debian than on e.g.
           | Alpine, which in turn works better than some wonky Yocto
           | build (ask me how I know). The mere existence of different
           | distributions and tool selections is not the important factor
           | here, but the amount of discourse there is in the training
           | data. Debian and Debian-likes run the table here.
        
           | tinkelenberg wrote:
           | Thank you. I will try again soon. BSD is too compelling from
           | a philosophical standpoint to set aside completely.
        
           | bionsystem wrote:
           | I "tested" the handbook recently (I think on FreeBSD 14 when
           | it came out) and I can attest that the experience was
           | flawless. It is even surprising that the right way to use it,
           | is to follow a documentation and apply what it says, versus
           | the Linux way which looks a lot more like "google your way
           | through multiple different ways of doing the thing until you
           | find the one that works".
        
       | lycopodiopsida wrote:
       | > Besides that there is a bigger question that I need to answer
       | for myself: given the quirks of FreeBSD, what actually would the
       | benefit of using it be?
       | 
       | I'd say less maintenance, churn and deprecating knowledge. I've
       | used FreeBSD as a desktop for the whole 5.*-branch (good times)
       | and I am sure that I would still find myself home should I
       | install it. Linux... not so much, though some distributions are
       | better. There was that idea of "stable core and bleeding-edge
       | applications" and freebsd did deliver, at least in those time,
       | because ports and OS were not same, unlike in linux package
       | management.
        
       | clan wrote:
       | I daily drive FreeBSD on my desktop with KDE. It is not as smooth
       | as Linux and requires a little more tinkering compared to Linux.
       | But I love it!
       | 
       | The killer features for me:
       | 
       | - The pf firewall. Rules you actually understand!
       | 
       | - Jails! When you cannot have Zones this will do.
       | 
       | - Native ZFS. Stable, mature, safe and with all the features you
       | can dream of.
       | 
       | - Linuxulator. Binary compatibility with Linux if need be. Can be
       | put in jail as well.
       | 
       | - pkg/ports. I really like it but I might have been
       | indoctrinated.
       | 
       | - Networking stack. Good. Stable. Makes sense to me.
       | 
       | For a nice graphical UI Linux is more smooth but if you are
       | willing to tinker it can work. As Linux gets all the attention
       | you will see stuff such as Chromium lag behind.
       | 
       | I can understand that can scare people off. But FreeBSD feels
       | like a comfortable old glove for me. I will suffer the minor
       | holes. My beard has grayed and my hair line is non-existant.
       | 
       | If waiting for a laptop I would perhaps wait for FreeBSD 15 for
       | much needed improvements in WIFI. If you want fast WIFI today you
       | need weird hacks routing through a Linux VM[1]. It works rather
       | well but it is honestly a bit clunky.
       | 
       | [1] https://github.com/pgj/freebsd-wifibox
        
         | doublerabbit wrote:
         | I daily drive FreeBSD with IceWM, four screens 2@4k, 2@1080p
         | running with Xorg on a Sapphire 5600XT, I can't fault any
         | issues.
        
           | clan wrote:
           | Exactly. When it works it is great.
           | 
           | I stick with a single 43" 4K@60 but it was a bit of a
           | challenge to get on the happy path:
           | 
           | https://forums.freebsd.org/threads/intermittent-scanline-
           | fli...
           | 
           | All systems can have issues. But the more widely used systems
           | are at an advantage.
        
         | gerdesj wrote:
         | I remember a hack, back in the day, on Linux where a Windows
         | wifi driver was used via a thing called NDISwrapper. Be patient
         | and hopefully you'll soon be looking back on your Linux VM
         | bodge in the rear view mirror.
        
         | alex1138 wrote:
         | Honestly, the problem is always the f!@#ing hardware, isn't it
         | 
         | The reason all this is hard is likely a remnant of what
         | Microsoft did in the 1990s to the point where Non Windows OSes
         | are given the shaft
         | 
         | Nvidia, Broadcom, Wifi generally, whatever
        
       | runjake wrote:
       | It looks like current versions of FreeBSD support Linux
       | containers and podman. Can anyone speak to the experience and
       | performance there?
        
         | sunshine-o wrote:
         | Depending on what you are doing and what you wanna run you
         | don't really need it. For most use cases, just `pkg install -j`
         | (-j is for jail) what you want. Or just put the Linux binary
         | (prefereably the musl/alpine one) in a thin jail it usually
         | works.
         | 
         | I haven't tried podman in FreeBSD yet because from what I
         | understand you can only run it as root right now, so it kind of
         | defeat the purpose.
        
       | josteink wrote:
       | I fondly remember working with FreeBSD in my younger days when I
       | would tinker more.
       | 
       | Back in those days I could make any Windows installation
       | unrecoverable. I could severely botch a Linux system. But FreeBSD
       | would always keep chugging, no matter what crazy idea I wanted to
       | try.
       | 
       | It may not be the fastest. It may not be the flashiest. But in my
       | mind, it has this whole "reliability" thing written all over it
       | like no other OS has.
       | 
       | For instance, when I was a student (and thus poor), I had a PC
       | made of (free) scavenged parts. It wouldn't boot Windows. Linux
       | would crash during boot. But FreeBSD just chugged along like
       | there were no issues at all.
       | 
       | I later discovered there were some physical issues with the UDMA
       | mode on the IDE controller, and that's probably what tripped of
       | the other OSes, but FreeBSD would just work. Albeit slowly, but
       | it actually ran fine. For years.
       | 
       | So while I no longer rely on FreeBSD myself, I look back on it
       | with fondness. That's also why I decided to help port .NET to
       | FreeBSD when the first cross-platform version of .NET Core was
       | launched (for Windows, Linux and Mac only). I thought every
       | decent OS deserved to have a working .NET version ;)
        
         | ssl-3 wrote:
         | A little less than 25 years ago, my then-new day job wanted me
         | to build them a new mail server, using Linux.
         | 
         | I'd put together one or two public-facing mail servers before,
         | but it'd been a few years and the landscape had changed
         | (postfix was the new hotness, sendmail was old news, etc). And
         | I had a FreeBSD machine at home that I'd previously built from
         | garbage that I was using for NAT and a few other things.
         | 
         | So, wanting to appear all slick and stuff at the new job, I
         | built a prototype at home on that FreeBSD box using a freebie
         | dyndns subdomain (which was still practical at that time).
         | 
         | It all worked great. For a couple of years I even used it to
         | host my own email at home. It was less trouble to maintain than
         | the Linux-based thing I'd built at work even though they both
         | started with the same software configs.
         | 
         | But that FreeBSD box was only ever a little forgettable trash-
         | built machine, so there were no backups at all when the hard
         | drive crashed completely (there were grooves worn into the
         | platters) while I was out of town.
         | 
         | Which might normally be the end of the story, but: FreeBSD kept
         | rolling just fine. Whatever data was in RAM (which apparently
         | included at least sshd and bash) remained in RAM and stayed
         | usable, and it kept routing packets like nothing had ever
         | happened at all.
         | 
         | I marveled at this for a few weeks as this very broken machine
         | kept flawlessly doing its NAT duties and providing solid
         | Internet access for my LAN until I scrounged up enough pennies
         | to buy my first "home router": A Linksys WRT54GS. (That little
         | hackable Linux box was a very fun introduction to the rabbit
         | hole of using hardware in unintended ways, but that's a story
         | for a different comment section.)
        
       | Lammy wrote:
       | > For example, ZFS seems interesting but Btrfs is probably close
       | enough for most people.
       | 
       | They are not directly comparable since ZFS is also the volume
       | manager for your ZFS filesystems, enabling features like `zfs
       | send` of snapshots or entire filesystems for easy backups.
       | 
       | > Let's start with the first and probably most important step:
       | setting up the network. [...] I don't fully remember how I
       | actually set up the network as it's been a while, but it involved
       | adding the following to `/etc/rc.conf`
       | 
       | This would be a great time to show off FreeBSD's documentation. A
       | great "Step 1" would be
       | https://man.freebsd.org/cgi/man.cgi?networking(7)
       | 
       | And then later on when people reasonably wonder what the heck
       | else is going on in `rc.conf`:
       | https://man.freebsd.org/cgi/man.cgi?query=rc.conf
       | 
       | All of the modern `rc.conf` examples will also be using `sysrc`
       | instead of telling you to edit the file directly, at first as a
       | first line of defense against fatfingering the file formatting,
       | and later when you get more advanced as a way to transparently
       | descend into Jails' `rc.conf`s without having to think about it:
       | https://man.freebsd.org/cgi/man.cgi?query=sysrc
       | 
       | One thing FreeBSD's installer does _not_ do a good job with that
       | 's very relevant for laptop usage is any automatic setup of
       | hardware-specific kernel modules. You will want to enable either
       | `coretemp` or `amdtemp` (depending on your particular Framework
       | model) which will automatically populate all the sensor data,
       | easily queried via `sysctl`:
       | 
       | - https://man.freebsd.org/cgi/man.cgi?coretemp
       | 
       | - https://man.freebsd.org/cgi/man.cgi?amdtemp
       | [Lammy@Emi] sysctl dev.cpu.{0..7}.temperature
       | dev.cpu.0.temperature: 40.0C       dev.cpu.1.temperature: 43.0C
       | dev.cpu.2.temperature: 41.0C       dev.cpu.3.temperature: 42.0C
       | dev.cpu.4.temperature: 40.0C       dev.cpu.5.temperature: 40.0C
       | dev.cpu.6.temperature: 42.0C       dev.cpu.7.temperature: 43.0C
       | 
       | e: and see my comment here about the quickstart firewall class
       | options that let you avoid writing any of your own rules until
       | you really want to! A laptop would do well with
       | `firewall_type=client`:
       | https://news.ycombinator.com/item?id=45794391
        
         | YorickPeterse wrote:
         | > They are not directly comparable since ZFS is also the volume
         | manager for your ZFS filesystems, enabling features like `zfs
         | send` of snapshots or entire filesystems for easy backups.
         | 
         | Btrfs supports both snapshots and sending/receiving them
         | between different hosts. You can also create additional Btrfs
         | subvolumes.
         | 
         | This is mostly what I meant with the differences between zfs
         | and btrfs not being that significant for most: they largely
         | seem to give you the same end result, instead taking a
         | different path to get there. I do know that zfs is better in
         | terms of reliability (or at least people love to bring that
         | up), but it's something I don't have any experience with myself
         | and thus can't comment on.
        
         | ssl-3 wrote:
         | > https://man.freebsd.org/cgi/man.cgi?networking(7)
         | 
         | That document is a stunning illustration of beautiful
         | simplicity.
        
           | buildbot wrote:
           | Meanwhile on linux, do I use netplan or NetworkManager or
           | Systemd, maybe /etc/network/interfaces?
           | 
           | On the other hand, the lack of broad HW support means that my
           | FreeBSD server burned 2x more power at low to mid usage
           | levels than the same HW running Proxmox.
        
       | sunshine-o wrote:
       | I have been daily driving FreeBSD for a while now (as a newcomer,
       | coming from Linux) and surprisingly the experience for me was
       | different from what you usually hear.
       | 
       | Pros:
       | 
       | - It is actually in a way easier than Linux. The installation is
       | less complex and more reliable than a Fedora if you are not
       | afraid of the TUI. More important it will soon include a desktop
       | installation script.
       | 
       | - All the software you will ever need is in pkg or ports unless
       | you are a degen
       | 
       | - You will pick up jails for container use cases in 10 minutes
       | and will never want to go back
       | 
       | - VM with vm-bhyve is simpler than libvirt and no XML to deal
       | with.
       | 
       | - Same with networking, you will pick it up quickly and no more
       | confusion between NetworkManager, systemd-networkd, ifup, etc.
       | 
       | - The linux-compat feature will get you very far and there are a
       | lot of Linux apps packaged already
       | 
       | - Hardware support is ok if you check first on https://bsd-
       | hardware.info/
       | 
       | - The wifi thing is no problem with
       | https://github.com/pgj/freebsd-wifibox
       | 
       | Cons:
       | 
       | - You won't be able to mount/read your LUKS drives from your
       | Linux era.
       | 
       | - Sometime very critical packages like Chromium disappear because
       | they won't build (for example no chromium in pkg on the current
       | FreeBSD 15 BETA)
       | 
       | - Bhyve do not support SPICE so you are stuck with the perf of
       | VNC.
       | 
       | - Bhyve do not have vsock so no blazing fast waypipe
       | 
       | - You basically loose a lot of security feature of web browsers,
       | most of the sandboxing of Firefox and Chrome. This is really bad.
       | 
       | - I haven't really dived into it but it seems there is no
       | Bluetooth LE
       | 
       | - It is fast but doesn't feel as fast as an Alpine
       | 
       | If you are thinking about it and this is ok for you, I would say
       | go for it.
        
         | 0x1ch wrote:
         | A lot of your points are valid, however... some are taking some
         | liberties. Are you actually running into usecases where FreeBSD
         | is easier or faster to install than current release Fedora
         | Server?
         | 
         | > The wifi thing is no problem with...
         | 
         | You're seriously proposing end users run Linux VMs with PCIe
         | Passthrough to get modern networking cards to work?
         | 
         | A lot of wishful thinking in this thread about FreeBSD on
         | workstations.
        
           | sunshine-o wrote:
           | > A lot of your points are valid, however... some are taking
           | some liberties. Are you actually running into usecases where
           | FreeBSD is easier or faster to install than current release
           | Fedora Server?
           | 
           | It is just that the Fedora installer is more complex... and
           | also will fail often at partitioning or during install. I've
           | done it hundreds of time and it failed dozens on time.
           | 
           | I would still recommend Fedora to Linux users but the FreeBSD
           | installer much more simple and straightforward.
           | 
           | > You're seriously proposing end users run Linux VMs with
           | PCIe Passthrough to get modern networking cards to work?
           | 
           | It is an Alpine running on the hypervisor you won't even
           | notice it. It consumes less than web browser tab...
           | 
           | Plus it has benefits from a security point of view.
           | 
           | I would rather FreeBSD devs focus on other things than
           | porting all wifi drivers.
        
       | CalChris wrote:
       | I was really hoping that FreeBSD would support Apple Silicon,
       | particularly the Mini. Hector Martin and friends did the hard and
       | under appreciated work of the m1n1 bootstrap. Indeed, OpenBSD
       | uses m1n1. However, the FreeBSD effort seems to have stalled.
       | 
       | https://wiki.freebsd.org/AppleSilicon
        
         | alrs wrote:
         | FreeBSD has had a hard time supporting Intel Thinkpads, and
         | they're making progress at getting better. Supporting Apple
         | arm64 is a much heavier lift than that.
        
       | unacorner wrote:
       | It took FreeBSD almost 20 years to implement ASLR:
       | 
       | https://svnweb.freebsd.org/base?view=revision&revision=34396...
       | 
       | Is security not a priority for their developers?
        
         | laxd wrote:
         | My impression is that ASLR just hasn't been well regarded and
         | prioritized. See for example this tweet by cperciva:
         | https://x.com/cperciva/status/1528971801983823872
        
         | avadodin wrote:
         | ASLR implemented at the mmap level in 32 bits(which was 100% of
         | FreeBSD usage in 2005) is less than 20bits of randomness try 1M
         | times and you've broken it add to that limitations in early
         | implementations where large swaths of the address space were
         | reserved for kernel and shared libraries and you're in a
         | scenario where many of your exploits maybe fail to run the
         | first couple of times and that's ignoring side channels or
         | kernels such as Linux degrading back due to difficulty adapting
         | some other feature to use ASLR.
        
       | Klonoar wrote:
       | _> For a server there 's no reason for user A to be able to see
       | processes of user B._
       | 
       | I'm not sure about that. This isn't FreeBSD specific so it's a
       | bit tangential, but I've certainly debugged systems where someone
       | thought it appropriate to run their intensive job on a live box
       | (mind boggling, yes). Seeing it smack dab under their name is
       | kind of important.
       | 
       | Am I missing something?
        
         | bartekrutkowski wrote:
         | This is about unprivileged users - privileged ones can see
         | everything. The idea is to make figuring out what's the surface
         | of the attack harder (for those attackers who are less than
         | skilled) by making it less obvious that 10 years old game
         | server process is running on this OS.
        
       | ahachete wrote:
       | > and technically you can also use ZFS on Linux, even if it's
       | painful
       | 
       | Maybe on some distros, but on Ubuntu is just an `apt-get install`
       | away, or can be even be added from installation time. I've been
       | using it for many years without any issues and the experience is
       | great.
       | 
       | I actually combine some non-ZFS filesystems with ZFS with
       | encryption and compression for all my setups, including my
       | laptop. I plan to blog shortly about it and how I'm automating it
       | all. Target is also a Framework laptop, too.
        
       ___________________________________________________________________
       (page generated 2025-11-12 23:00 UTC)