30 years of FreeDOS

Andrew Cunningham writing for Ars Technica:

Though it’s still being downloaded and used, shifts in PC hardware are making it more difficult to install and run FreeDOS directly on a new PC (called a “bare metal” install, to distinguish between an operating system installed directly on your PC and one that’s being run on top of another OS via some kind of emulator or virtual machine). And it’s not just about the slowly rising wave of systems with Arm-based processors in them, chips whose language FreeDOS doesn’t speak.

One issue is the UEFI firmware used to boot modern PCs. UEFI began replacing the traditional PC BIOS at the tail end of the 2000s, and today, it’s the default mechanism used for booting Windows, macOS, and Linux, though Windows and Linux both technically can still boot on non-UEFI systems.

For a long time, new computers with UEFI firmware still included some kind of legacy compatibility mode to support operating systems like FreeDOS that will only boot in BIOS mode. Many PCs still do, particularly home-built desktop PCs whose motherboards offer users lots of configuration options (your motherboard may refer to BIOS support as “CSM,” which stands for Compatibility Support Module). But plenty of new PCs will only boot using UEFI, and that’s a problem for running FreeDOS directly on the hardware.

“People have asked if it’s possible to rewrite or update the FreeDOS kernel to use UEFI instead of BIOS, and the answer is more complicated than just that,” Hall told Ars. “Maybe it’s possible to replace those parts of the kernel that use BIOS, but a ton of DOS applications and games call BIOS directly. Remember, DOS isn’t like more modern operating systems that use a Hardware Abstraction Layer or HAL, where applications talk to the HAL and the HAL talks to the hardware. A DOS program typically interacted with the hardware directly.”

In other words, you could write a version of FreeDOS that could boot on a UEFI system, and you might even be able to write a version that booted on an Arm system. But either change would break the vast majority of existing DOS applications, and running those old applications is the main reason why FreeDOS exists in the first place.

“That’s one reason why we recommend running FreeDOS in a virtual machine,” said Hall. “The virtual machine provides the BIOS. Although, from a practical side, I think most people aren’t interested in trying to run FreeDOS on bare hardware on a new desktop or laptop, with a 16-core Intel Core Ultra CPU, 32GB memory, 512GB SSD, and Wi-Fi. If you’re going to run FreeDOS, you are probably looking for that ‘retro’ computing experience, so you’re more likely to install FreeDOS on an older PC anyway.”

The PC has managed to maintain really good backwards compatibility—which is just incredibly difficult to do. But, there comes a point where all the effort that goes in is not worth it. In any case, the browser is the OS these days. Does it matter we run it on x86 or ARM?





Discover more from Unixism

Subscribe now to keep reading and get access to the full archive.

Continue reading