NetBSD 9.3: A 2022 OS That Can Run On Late-1980s Hardware

'Version 9.3 of NetBSD is here, able to run on very low-end systems and with that authentic early-1990s experience. The Register reports: 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. ' -- source: https://tech.slashdot.org/story/22/08/12/1958253 Cheers, Peter -- Peter Reutemann Dept. of Computer Science University of Waikato, NZ +64 (7) 858-5174 (office) +64 (7) 577-5304 (home office) https://www.cs.waikato.ac.nz/~fracpete/ http://www.data-mining.co.nz/

On Sun, 14 Aug 2022 10:02:33 +1200, Peter Reutemann quoted:
'Version 9.3 of NetBSD is here ...'
Consider that there are less than a dozen BSD variants (even assuming there’s more than I can name), versus over 300 Linux distros -- that’s nearly two orders of magnitude difference. And yet all those Linux distros share a common kernel (which is where they get the name “Linux” from), with only minor variations, while the BSDs are quite different internally. I discovered this when reading about the WireGuard-on-FreeBSD saga <https://arstechnica.com/gadgets/2021/03/buffer-overruns-license-violations-and-bad-code-freebsd-13s-close-call/>. WireGuard had already been implemented on OpenBSD, but it appears you couldn’t just take that code and plunk it into FreeBSD--it had to be reworked again. I was also looking at filesystems. The BSDs use something called “UFS” <https://en.wikipedia.org/wiki/Unix_File_System>. But it appears there are different, incompatible variations on this common theme: In UFS2, Kirk McKusick and Poul-Henning Kamp extended the FreeBSD FFS and UFS layers to add 64-bit block pointers (allowing volumes to grow up to 8 zebibytes), variable-sized blocks (similar to extents), extended flag fields, additional 'birthtime' stamps, extended attribute support and POSIX1.e ACLs. UFS2 became the default UFS version starting with FreeBSD 5.0. FreeBSD also introduced soft updates and the ability to make file system snapshots for both UFS1 and UFS2. These have since been ported to NetBSD, but eventually soft updates (called soft dependencies in NetBSD) was removed from NetBSD 6.0 in favor of the less complex file system journaling mechanism called WAPBL (also referred as logging), which was added to FFS in NetBSD 5.0. OpenBSD has supported soft updates since version 2.9[5] and has had UFS2 (FFS2) support (no ACLs) since version 4.2.[6] OpenBSD has now made UFS2 the default UFS version and will be included with the 6.7 release.[7] Since FreeBSD 7.0, UFS also supports filesystem journaling using the gjournal GEOM provider. FreeBSD 9.0 adds support for lightweight journaling on top of soft updates (SU+J), which greatly reduces the need for background fsck, and NFSv4 ACLs. In other words, take a “UFS” volume from one BSD, and it probably won’t be readable on another.
'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 ...'
I thought Linux was the most widely ported OS ever, with support for about two dozen major processor architectures in the current source tree. If you look at the NetBSD list <https://wiki.netbsd.org/ports/>, it does seem impressive, except most of them are variations on common CPU architectures, the only real major one I can find that Linux does not currently support (as far as I’m aware) is VAX, and possibly Alpha. You can compare the (documented) Linux architecture list here <https://docs.kernel.org/arch.html>. Worth noting that NetBSD has added RISC-V to its list, but not (yet) LoongArch.
participants (2)
-
Lawrence D'Oliveiro
-
Peter Reutemann