NetBSD is an open-source, Unix-like operating system known for its portability, lightweight design, and robustness across a wide array of hardware platforms. Initially released in 1993, NetBSD was one of the first open-source operating systems based on the Berkeley Software Distribution (BSD) lineage, alongside FreeBSD and OpenBSD. NetBSD’s development has been led by a collaborative community and is particularly recognized for its “clean” and well-documented codebase, a factor that has made it a popular choice among users interested in systems programming and cross-platform compatibility.
↫ André Machado
I’m not really sure what to make of this article, since it mostly reads like an advertisement for NetBSD, but considering NetBSD is one of the lesser-talked about variants of an operating system family that already sadly plays second fiddle to the Linux behemoth, I don’t think giving it some additional attention is really hurting anybody. The article is still gives a solid overview of the history and strengths of NetBSD, which makes it a good introduction.
I have personally never tried NetBSD, but it’s on my list of systems to try out on my PA-RISC workstation since from what I’ve heard it’s the only BSD which can possibly load up X11 on the Visualize FX10pro graphics card it has (OpenBSD can only boot to a console on this GPU). While I could probably coax some cobbled-together Linux installation into booting X11 on it, where’s the fun in that?
Do any of you lovely readers use NetBSD for anything? FreeBSD and even OpenBSD are quite well represented as general purpose operating systems in the kinds of circles we all frequent, but I rarely hear about people using NetBSD other than explicitly because it supports some outdated, arcane architecture in 2024.
It would surprise many how pervasive is *BSD code. The BSD license is much more business-friendly and permissive than GPL version *. although arguably less effective in furthering the objectives of much of the Free Software community (due to the ability to take added code private).
MS Windows famously used some BSD code in the TCP stack back in the NT days. Many of the “set top boxes” provided by cable and Internet providers ran or still run *BSD as the base OS.
The goal of NetBSD to run on pretty every platform is a noble endeavor that must be respected: It is powerful force to make FOSS an option on those platforms, while also enhancing the business possibilities of those platforms.
And yet it always seems to be toasters that get the most support
Naturally, on everything as the main OS. 🙂
The most common uses of NetBSD are probably in education and by Japanese ISPs. The thin clients at Cambridge University run it, and pkgsrc is quite popular in scientific computing.
It seems like they have embedded systems focus, which could explain those use cases.
That being said, pfSense / OPNsense is based on FreeBSD and works fine on resource constrained systems. (Our definition of “resource constrained” could of course be different).
NetBSD development doesn’t have a specific focus on the embedded systems. NetBSD is general purpose OS and it can be used from small devices to modern powerful systems, including as desktop or server OS, given drivers are available for the hardware. I think portability focus and support for ancient hardware played a bit disservice on how the system goals are perceived outside the community. It is a goal to keep code portable, however it is not the goal to focus on ancient (or embedded) systems only. In fact, some ancient ports have more of experimental status (and may not even boot) or maintained by few dedicated developers, main focus is still to support modern hardware I would say… Issues are a bit different, modern GPUs support is likely trailing behind other BSDs for example, lack of development resources (more contributors would be really welcome), etc. pkgsrc is also a different story :), because it goes beyond NetBSD.
The referenced article is likely not the best imho, very general information which sounds more like summarized wiki page, but still better than nothing :).
vezhlys,
There was a saying:
“Perception is reality”
I don’t remember where I heard it. But it can explain situations like this where “NetBSD is not actually focused on embedded systems” as it seems to be perceived as such.
As an end user, if I am searching for a desktop BSD operating system, this would very well be my entire understanding of NetBSD operating system, as most of us will only look at the first article and say: “hmm… maybe I should look at FreeBSD instead”
A few years ago I built an embedded NetBSD system with the crunchgen toool and replaced the Linux-based firmware on a Linksys router. With the crunchgen tool it was small enough to fit in 32M of flash
Can it do 120hz on a amd system? No?
Ill just wait then, 60 hz is great if that is all you know. Going back, not so much.
I’ve been using NetBSD on many systems for *checks date* 2 decades now. Have been running it on i686, amd64, arm64, armv7, PowerPC, SPARC64, etc. all fine.
So while it is definitely portable and works on almost everything, that is not the main reason to use it. For many years, I exclusively used it on i686, so portability was not the reason to use it. The real reason to use it is that it is a stable system that just works and doesn’t have the constant drama all the other OSes seem to have. NetBSD just gets things done and doesn’t talk about it much. Most people don’t realize that it’s much faster than OpenBSD and supports features OpenBSD is painfully lacking, while not having a worse security track record that OpenBSD other than being a bit slower in changing the defaults that OpenBSD is. It is also the only system that doesn’t constantly break you. OpenBSD *loves* breaking your config files, that will happen almost never with NetBSD. NetBSD is just setting it up once, updating every now and then and forgetting you even run NetBSD because it is just that pain free and not constantly changing.
It’s also usable a desktop OS and works there quite fast. I set up my Thinkpad with OpenBSD because I assumed it would work better due to OpenBSD being known for better WiFi support, but that was a mistake. OpenBSD was dead slow on that Thinkpad, using Firefox wasn’t fun. I thought the machine was just getting too slow, until I switched it to NetBSD and it was blazing fast.
On top of that, NetBSD is also great for actually developing new things and doing research. What other OS allows you to use Lua to quickly prototype kernel code? Then there’s also RUMP, which allows you to build various parts of the kernel as a userland application. Or build a custom kernel with just the parts you need running just one application. Then there’s NVMM, NetBSD’s hypervisor. There’s NetBSD’s KASLR, which is the strongest of any KASLR implementations out there AFAIK — while OpenBSD, as the one known for security, only has KARL, because they couldn’t get KASLR to be as affective as NetBSD did. Then there’s NPF, the first packet filter (not sure if others caught up by now) that was filtering and routing fully multi-threaded.
So, as you can see, NetBSD is not just for portability. It’s quietly progressing without a lot of drama. But you only make it into the news if you have constant drama, so people don’t hear much about NetBSD.
I used to run my email server on NetBSD/SPARC with an old SparcStation-2 many years ago. I still have the machine and its original 400mb drive somewhere.
While NetBSD can technically “run” on a lot of platforms, often this amounts to “will boot a kernel with a serial console”, support for peripherals can often be lacking.
I’ve tried Free, Net, and OpenBSD on a Sun Ultra 2E (sparc64). Of course its been sometime since I have done so and I have no specific recollections of the ordeal. All seemed to work but, for some reason I can’t recall, I settled on OpenBSD for that box. One thing I can say for certain is I hated Solaris’ black text on white background console. Linux and the BSDs had much better consoles and at usable resoulutions.
OpenBSD is definitely the most refined and everything feels right version… but it has dropped support for a lot of stuff. While NetBSD focuses on running everywhere.
Decades ago I ran NetBSD on the Sega Dreamcast, and it was pretty cool having a full computer operating system on a game console. It wasn’t really useful as more than a curiosity, and I had no idea what I was doing with it since it was my first exposure to a BSD of any kind, but it was neat.
More recently, I’ve had a go at running NetBSD on a Intel N100 based device and it worked fairly well. I like its packaging system a bit better than OpenBSD’s, at least as an end user and not as a developer. NetBSD feels a tad bit more desktop friendly than OpenBSD and FreeBSD out of the box, but there’s still a bit of configuring and tweaking to do after a fresh install. It also lags behind on video drivers; it worked fine on that Intel machine but on my Ryzen 2400G based DeskMini A300 PC, I can only get unaccelerated 1024×768 resolution in X11 no matter what I try to tweak, making it basically unusable on that device. I haven’t given it a go on any Raspberry Pi boards yet (I don’t think the Pi 5 is supported yet), but that’s next on my list of devices to try it on.
NetBSD is what I would turn to after realizing that the piece of hardware I was interested in didn’t have modern Linux support, and I only needed basic services running on it. If I wanted a *BSD I’d probably prefer Free or Open. Depending on what the other requirements were.
If not Linux (for what ever reason)
If can’t work with OpenBSD
If can’t work with FreeBSD
then NetBSD.
After that then I’d look at dumb options like FreeDos and the like.
Thats not nock on NetBSD, its very useful and depending on the case most likely to actually work in some capacity.
NetBSD is wonderful! I first started using it back in the early 2000s when I was in school. My ageing iBook G3 refused to boot Yellow Dog Linux, but NetBSD/macppc installed without any issues. Starting from the ground up with networking, X11, and package management taught me more about *nix than a year of university.
I’ve since moved to FreeBSD for most personal workloads for its tooling, but I still hold a soft spot for it (I also use pkgsrc everywhere too, but that’s a separate discussion), and use it wherever I can:
First, NetBSD works great on laptops, even better than FreeBSD in my experience. I run NetBSD/amd64 on a tiny Japanese Panasonic Let’s Note laptop for a distraction-free writing machine, to the point where I just use tmux as a poor man’s window manager (though I can fire up Xorg when I need to return to the real world).
Second, as its reputation suggests, it runs everywhere. I’m a retrocomputing tragic, so I have it on everything from a Sun SPARCStation 5, to the Pentium 1 machine I built as a kid. It’s ludicrously fun swapping from BeOS, DOS, or OS/2 into NetBSD. Also really helps for transferring files, doing partition backups etc.
And finally, I also just run it for all the basic server tasks we all do. I’ve joked sometimes that NetBSD is “boring” after coming home from $DAYJOB running whatever Rube Goldberg stack the Linux world has dreamed up that week, but honestly it’s the highest praise I could imagine. I love tinkering with hypervisors, and NVMM has been a lot of fun. NPF is also a balm to a troubled soul.
I’ve also had the privilege of meeting many of the engineers behind NetBSD and pkgsrc at events like AsiaBSDCon and Linux.conf.au, and they were some of the kindest, most humble, intelligent people I’ve ever talked with. They’re the exact opposite of hype and bluster, which I suppose shows through in their OS.
Thanks Thom for asking, and giving us the opportunity to talk. NetBSD gets vanishingly little coverage even among the BSDs, let alone OSs in general, so it’s really appreciated :). I’ve also been a reader for years, but this finally convinced me to create an account here. Also thanks to @[email protected] for convincing me to comment.
Thanks for that, Ruben. Your reply was a nice read.
We probably would have tried NetBSD sooner had it not been for BSDi (BSD/os) already being available – and cheap – to run on our white-box PCs.
Our small group held on to running SunOS4 (BSD aka Solaris1) to the bitter end on our SPARC systems, until it was time to migrate to Intel hardware — we never “upgraded” to Solaris2.
We eventually ran NetBSD when another group spun off a DEC Alpha workstation they no longer needed, and that worked just fine for years until it was time for another round of CPU replacements.
[for completeness: after BSDi faded away, our small clutch of Intel systems was migrated to FreeBSD-3 and we’ve stuck with FreeBSD ever since.]
I always had a soft spot for NetBSD. Somehow I liked it the most out of all BSDs even though it was harder to use on modern machines than FreeBSD. I started around release 2.0 and 3.0 trying to get it run on my iBook G4 with “some” success. Had much more luck later on an AMD Sempron desktop PC while I was at uni. Managed to use NetBSD to do all the uni work – documents, research, calculations, web browsing etc.. At work, I ran a bunch VMs around NetBSD 4.0 and 5.0 era. Acting as primary and secondary DNS servers. I used it as a personal VPS virtual machine – serving ownCloud, personal blogs etc. Worked well.
Now in 2024 I’m getting back to trying it out. Bought a ThinkPad T480 and running NetBSD 10. I have an additional discrete GPU (Nvidia Optimus setup) so I’m struggling to turn it off with ACPI but getting there slowly. Touchpad is problematic – most of the features don’t work (multi touch, 2 finger scrolling etc.) Thankfully I have a trackpoint and at my desk I’m using a mouse. WiFi lags – just like on FreeBSD and OpenBSD unfortunately.
Pkgsrc is lovely. I used it also on macOS and back at my NetBSD 3.0 days – on Slackware Linux where it was veeeerryyy helpful, overcoming shortcomings of Slackware’s package management (or lack of).
I highly recommend trying it out as it is a very small and clean operating system. The community is very helpful on mailing lists (unitedbsd.com forums help a lot as well, there are a lot of NetBSD folks there with great knowledge of the system). Since the community is very small, the turnaround on issues is not always great, but there’s a lot of will to help newcomers.
Indeed, linked article is like a wikipedia summary, repeating all the same fallacies about each BSD’s focus (general computing/performance – FreeBSD, security – OpenBSD, portability – NetBSD). This is not that black-and-white anymore. I don’t think it ever had been.
Been using NetBSD since.. maybe 1994. Currently use it for a scattering of servers and my main laptop (ThinkPad T480), using IntelliJ IDEA to develop a selection of java projects mainly using postgres & mariadb. Big fan of pkgsrc too – particularly for providing usable packages on systems Which Must Run The Officially Defined RedHat Release 🙂