NetBSD 9.3: A 2022 OS that can run on late-1980s hardware
Need a cold shower? This is xNix like Windows users imagine it still is
Version 9.3 of NetBSD is here, able to run on very low-end systems and with that authentic early-1990s experience.
When The Reg FOSS desk took a quick look at the latest version of FreeBSD a few months ago, some NetBSD enthusiasts were quick to point out that NetBSD is (very, very slightly) older. Since then, it has been on our to-do list to take a look at the OG* BSD. A major version, NetBSD 10, is coming relatively soon, but in the meantime, the NetBSD project has just put out an update to the current major version of the OS.
Version 9.3 comes some 15 months after NetBSD 9.2 and boasts new and updated drivers, improved hardware support, including for some recent AMD and Intel processors, and better handling of suspend and resume. The next sentence in the release announcement, though, might give some readers pause: "Support for wsfb-based X11 servers on the Commodore Amiga."
This is your clue that we are in a rather different territory from run-of-the-mill PC operating systems here. A notable improvement in NetBSD 9.3 is being able to run a graphical desktop on an Amiga. This is a 2022 operating system that can run on late-1980s hardware, and there are not many of those around.
NetBSD supports eight "tier I" architectures: 32-bit and 64-bit x86 and Arm, plus MIPS, PowerPC, Sun UltraSPARC, and the Xen hypervisor. Alongside those, there are no less than 49 "tier II" supported architectures, which are not as complete and not everything works – although almost all of them are on version 9.3 except for the version for original Acorn computers with 32-bit Arm CPUs, which is still only on NetBSD 8.1. There's also a "tier III" for ports which are on "life support" so there may be a risk Archimedes support could drop to that.
This is an OS that can run on 680x0 hardware, DEC VAX minicomputers and workstations, and Sun 2, 3, and 32-bit SPARC boxes. In other words, it reaches back as far as some 1970s hardware. Let this govern your expectations. For instance, in VirtualBox, if you tell it you want to create a NetBSD guest, it disables SMP support.
We found NetBSD quite a challenge to install. It's a three-step process. First, install the OS, which did (unexpectedly) result in a graphical login, to an extremely basic window manager and terminal. Then, we had to run sysinst to configure some more advanced features, such as setting a hostname, configuring online package repositories, and installing the
pkgin command, which installs pre-compiled software from online repositories.
We also enabled
sshd so that we could SSH into the VM from the host Linux machine. This is a big advantage because the NetBSD terminal doesn't directly understand modern luxuries like cursor keys and command-line editing, some of which you do get if you use a Linux SSH session.
Modern Linux is, well, a modern OS. By default, it supports things like cursor keys, wireless networks, and multiple disk partitions, some of which may be in use by other OSes. The
top command uses fancy PC console features such as bold fonts.
- Ready for the Linux 6.0 splashdown? Here are some of the highlights
- Fancy a freshened up SLAX or ChromeOS replacement Peppermint OS?
- Ubuntu Focal user? Expect a Jammy upgrade popup soon
- The many derivatives of the CP/M operating system
The BSDs are less like that, and NetBSD is considerably more Spartan than FreeBSD, which aims at exploiting the hardware of modern computers. In comparison, NetBSD feels like a step back to 1990s UNIX, where if you press the cursor-up key, the console just emits an incomprehensible escape sequence that looks like a cartoon character swearing.
After quite a lot of consulting Google, we worked out how to install the tool to install other tools. This was not trivial. A fairly common occurrence is that you will only find outdated documentation, for example instructions for NetBSD 6 or 7.1. These can be difficult, involving typing long commands, such as entering lengthy URLs on the command line when you can't edit the command line. Also, they can be misleading: a working answer turned out to be to run the system installer a second time, and use it to configure package-management automatically.
Once we installed
pkgin, we found that the root user couldn't run it, while an ordinary user could, but doesn't have permissions to use it. And there's no
sudo command installed. Using the
which command, we worked out where
pkgin was hiding, and then used the root account to
cd to that path (it's in
/usr/pkg/bin/) and run it directly (
./pkgin). For the sake of brevity, we are omitting a lot of rebooting in this process.
Then we found an only slightly outdated guide on how to install the Xfce desktop. With that installed, things all became much more civilized, command-line editing with the cursor keys started working (weirdly, even on the console), and we could change the screen resolution and so on. We also installed Firefox (although, oddly, this resulted in a nightly build of version 101 from last May) and were able to get online.
Surprising as it may sound, the whole experience of installing NetBSD and getting it working has been rather enjoyable, and we felt quite proud and accomplished seeing it load some web pages. Saying that, we're not at all sure we could do the same on bare metal.
NetBSD is not like just another Linux distro. Even installing Arch from scratch, or compiling your own Gentoo system, is a walk in the park by comparison. A walk with a map, a list of directions, and signposts. Signposts which are current and refer to the park you are in right now, not a similar park on a different continent.
We fear that there may be unhappy comments from outraged NetBSD enthusiasts, just as there were from FreeBSD fans when we said that in testing it failed to boot from ZFS and didn't handle multiple partitions well. This vulture is an old hand and has been using xNix machines since SCO Xenix 286 on an original IBM PC/AT, and still found the process a challenge.
Installing NetBSD is a great learning experience. There is also real utility in having a contemporary OS that can still run on hardware that's over a third of a century old. For instance, I still enjoy using near-vintage PowerPC Macs. When getting classic MacOS set up, it's very helpful if the machine can also boot into Mac OS X, even a very old version, and use that to download software, or copy files off a USB key. Similarly, I needed the aid of PowerPC Ubuntu to crowbar MorphOS onto a Mac mini G4.
NetBSD is not about to become my everyday OS, but getting it working will be educational to even a fairly proficient Linux user if they've only used it in the last decade or so. And it will make you very grateful for all the creature comforts that modern Linux provides. ®
*Younger and more au courant colleagues inform me that this means "original gangster", and that is apparently a good thing.