[koko] Dell Unix sustainable!

“The only thing I knew how to do
Was to keep on keepin’ on like a bird that flew”
(1975) “Tangled Up In Blue” – Bob Dylan

tl;dr with 86Box, obsolete hardware not needed

[update December 2021: files for 86Box install at https://technologists.com/DellUnix2.2.1/]

[update February 2024: [koko] knowing and accepting limitations]

With prodding and help from Antoni Sawicki, and bits of help from others, I’ve been trying to get Dell Unix to be sustainable on modern hardware. I’d succeeded in building our SVR4 from the last sources on turn of the century and older hardware. VMware and VirtualBox options seemed plausible, but so far we haven’t gotten those to have minimally useful networking, only had slow SLIP.

mcom.com on Dell Unix on 86BoxThough it has been around for years, and used by Antoni before, I was unaware of 86Box until late last year when Antoni posted about it, particularly: Dell Unix on 86Box “Today let me present Dell Unix more properly, with 1024×768, 256 colors video and proper networking using emulated VGA and NIC.” That post illustrates Mosaic, FrameMaker et al.

That left the question “What about using Dell SVR4 on 86Box to build SVR4 from the sources?”

technologists.com on Mosaic on old Apache, not the live site, page moved to Apache on RH5.2, note that old Mosaic didn't natively render JPGAfter figuring out some of the arcane 86Box configuration options, and some minor failures, a positive answer emerged. With 86Box hosted on a 3.4GHz i7-2600, and the sources accessed by NFS from a Fedora 1 Linux machine, the builds succeeded in about the same time as when doing the builds natively on a 450MHz Pentium II. 86Box networking is about as fast as original Ethernet, so switching to having the sources in the 86Box “disks” provided by SSD is considerably faster.

Configuration esoterica:
To say that 86Box has a “plethora” of configuration options is an understatement. I only actually tried a tiny fraction of the possibilities. I wanted to use PCI configurations, hoping to get benefit of faster processor/larger memory, but couldn’t get the ISA Ethernet cards to work in those configurations, so I settled on “[486 ISA] AMI 486 clone”. The fastest processor option then is Pentium OverDrive/83 (83MHz Pentium I with 486DX pinout — [does the emulation really throttle processor speed??]) and 32MB memory. I’m used to the “CMOS setup” firmware of the early 90s (flash hadn’t quite supplanted battery-backed SRAM, IIRC) figuring out things like diskette type that the emulation did not do, so I struggled with diskette emulation until I figured out that I had to set the types properly in both 86Box and emulated CMOS setup.

Build esoterica:
The build process in 199x, which I used with as few modifications as practical in recent years, assumed a couple of “RAM disks” to effectively cache and improve performance. With only 32MB of RAM in the 86Box configuration, the RAM disk creation failed. (The physical machines we used in 199x supported up to 128MB of DRAM.) I hypothesized and confirmed that the RAM disks were superfluous when the 86Box machine had SSD-based emulated disks. Still using NFS to access the sources, the 86Box build completes in 12+ hours, about the same time as the builds on the physical 450MHz PII (which has 768M DRAM).

The configuration I ended with and recommend has a 5GB emulated disk and WD8013 Ethernet. Building the system with that and the source on the emulated disk takes 7+ hours.

The original BUILD script depends on some binaries that have not been recently built. Some of those are from closed source products such as MERGE that we never had the source for. However, a few are for utilities and a GCC variant that should be recreateable. That the build process doesn’t create those specific binaries seems a minor flaw that should be fixed, but is not a priority.

The biggest benefit of the 86Box efforts is getting marginally acceptable networking. The networking isn’t great, limited by both errors and performance, but useable, vs. the unusably slow SLIP Antoni made functional with VirtualBox. I’ve seen so many NFS write errors that I don’t trust NFS writes from 86Box. For important transfers, I use cpio or tar with ftp and checksum to verify. It is hard to gauge the network speed, but based on timing large ftp transfers to/from the 86Box machine and comparing to the physical 486 and PII machines with 10Mb Ethernet, I’m guessing the effective wire speed of the 86Box machine is something under 3Mb, which is why I cited “original Ethernet”.

Years ago I pontificated about Meaningful Indicators of System Performance, surveying the (mostly) synthetic benchmarks in vogue in 1990. IF I were to respect what I wrote, then the “MISP” now seem to be the build timings. But “I was so much older then, I’m younger than that now”, so I have experimented with some synthetic benchmarks. With the infamous Dhrystone, I get 37,037/sec on the 50MHz 486, 95,238/sec on the 86Box, and 666,667/sec on the 450MHz Pentium II. Tim Bray’s Bonnie is a synthetic disk benchmark that tried to dismiss caching and compiler optimization effects. Nominally it uses a 100MB file, but the 486 machine didn’t have that much free space, so I ran with 25MB there:

              -------Sequential Output-------- ---Sequential Input-- --Random--
              -Per Char- --Block--- -Rewrite-- -Per Char- --Block--- --Seeks---
Machine    MB K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU K/sec %CPU  /sec %CPU
d50        25   488 98.6   985 94.7   330 59.8   494 98.0   983 92.2  60.0 34.9
ds86b     100  1564 99.6  2399 31.3  1189 37.9  1558 99.5  2390 36.2 232.4 36.3
optiplex  100   443  4.7   447  2.8   451  3.5 11570 97.5 42489 99.6 437.6  9.3

I also attempted to use various versions of the “Byte UNIX Benchmarks”, but the more recent versions seem to depend on GNU make and Perl 5, while we have USL make and Perl 4 in Dell Unix, and the legacy versions of the Byte Benchmarks didn’t produce summaries that were as interesting to me as the Dhrystone and Bonnie results.

Old hardware costs going up
Besides pursuing virtualization/emulation approaches, I’ve still acquired/retained relevant physical machines. In addition to my souvenir JAWS (koko: prolonging JAWS) and the 486D/50 ([koko] (welcome to …) eight Jurassic O.S. on 1992 Dell 486D/50), I have a functional 486D/33, plus a collection of spare boards and drives, plus the PII Optiplex plus a PIII Optiplex (currently loaned to a client). I get alerts from eBay about items of interest and am often amused/surprised at the prices. The Impractical but Indisputable Rise of Retrocomputing explains some of the price anomalies.

VirtualBox & VMware (PCI)
Though what we have seems adequate and sustainable, it would still be nice to have Dell Unix with useful networking on VirtualBox and/or VMware. To get there will likely require adding PCI support, and drivers for the AMD or Intel Ethernet cards supported by VirtualBox and VMware. Though not impossible, I’m not likely to get that done without help from others.

Comments are closed.