Well I won’t tell you exactly what I’m about to drop yet but I will tell you about some of the research behind it.
When I was young I used to go to the garbage tip with my dad, pick up old computers very cheaply and try to get them working. I developed a great eye for spotting a good classic model but there were rarely many disks with them. It was fairly rare to get all of the good game disks with an old machine, but I often ended up with things like early business programs and on other machines just a BASIC shell.
Times change but skills only really grow. While I’ve been working on a new operating kernel & new accessories for new computers, I started looking over old systems again for ideas. Something about old operating systems became immediately clear, they can be divided into two categories:
Fast Enough To Rebuild In 2026
A good “usable” operating system does not actually need to support modern hardware, modern hardware is easily good enough and supporting legacy hardware emulation on top of whatever vendor-provided kernel is installed isn’t generally problematic. A reliable legacy operating system only needs to be fast enough to be usable under full emulation.
Aside from being fast enough, it’s also very helpful – some might say necessary – if a system is able to recompile itself (and any necessary patches) in a reasonable way. Especially if you don’t have access to the original download servers or the original hardware.
The Failing Category
Testing legacy x86-era operating systems under emulators on non-x86 hardware with full software emulation seems to be a very easy way of separating the higher quality code from the lower quality code. Recompiling the operating system is also a great general benchmark, as an OS which is too slow at batch processing will immediately grind to a halt.
Having used almost exclusively RISC processors for the past couple of years has been a blessing in disguise for developing legacy x86 solutions as I can tell you straight away what won’t work in a solid legacy enterprise OS:
- Dynamic linking everywhere
- Relying on overly-specific hardware features
- Everything is downloaded from git
- Everything is downloaded from unstable package mirrors
- “We no longer publish physical media”
- Thoughtlessly advanced filesystems or VFS layers
Sometimes these things can be disabled or avoided by customising the OS, but in other cases they become a bit all-consuming.
That Leaves A Few Real Options
The “good” legacy operating systems can further be divided into two groups:
- Systems which still mostly work in their original forms but as more-finished and still-maintained systems
- Systems which were either abandoned or are still maintained but no longer support the original hardware or installation flavours
The second category has some fairly interesting options, there are a few in particular I’ve been looking into making modernised respins of to support outdated hardware.
These can be narrowed down further by considering potential migration paths, the end result being that I should be able to deliver one or more 2026-buildable software solutions for very outdated hardware but I’m still analysing the tradeoffs. The new brand will be focused on “generic” open-source solutions.
Leave a Reply