Why Run Linux on Windows 98 in 2024?


💡 Key Takeaways
  • A developer has ported a minimal Linux kernel environment to run natively within Windows 9x, bridging two computing eras.
  • The implementation, called Win9xLS, uses a custom compatibility layer to translate Linux syscalls into Win16 and VxD equivalents.
  • The subsystem boots a 40MB ramdisk image containing BusyBox and a patched 2.4-series kernel adapted to coexist with Windows 9x.
  • This project demonstrates a quiet revolution happening in the margins of software development, pushing the boundaries of what’s possible.
  • Unlike WSL2, Win9xLS relies on a custom compatibility layer rather than a full virtual machine.

In a dimly lit basement in Malmö, Sweden, a CRT monitor flickers with green text on a black background—the kind of setup more at home in a 1998 college dorm than a 2024 tech lab. Yet here, a modern SSD hums beneath a beige Dell OptiPlex 410, powering a machine running Windows 98 Second Edition. On screen, a terminal window displays a prompt: \”bash-5.2#\”—not from a virtual machine, but natively running through a custom-built subsystem. This is no emulation trick. Developer Linus Åkesson has painstakingly ported a minimal Linux kernel environment to operate as a subsystem within Windows 9x, bridging two computing eras in a single, jarring, and oddly beautiful synthesis. The hum of the fan, the clack of the mechanical keyboard, the faint ozone scent of aging electronics—it all frames a quiet revolution happening in the margins of software development.

\n\n

Linux Inside Windows 9x: What’s Actually Running

Close-up of a vintage circuit board showcasing retro technology and design.

\n

Åkesson’s project, dubbed \”Win9xLS\” (Windows 9x Linux Subsystem), allows a stripped-down version of Linux to run as a cooperative process under Windows 95, 98, and ME. Unlike WSL2 on modern Windows, which relies on a full VM, this implementation uses a custom compatibility layer that translates Linux syscalls into Win16 and VxD (Virtual Device Driver) equivalents. The subsystem boots a 40MB ramdisk image containing BusyBox, a minimal GNU toolchain, and a patched 2.4-series kernel adapted to coexist with the Windows 9x kernel. It supports basic networking via a tunnel to the host’s TCP/IP stack, limited file sharing, and even X11 forwarding for lightweight GUI apps. While not intended for production use, the system compiles C code, runs Python 2.7, and can ssh into remote servers. The GitHub repository, which has garnered over 8,000 stars in three weeks, includes full build scripts and documentation for enthusiasts willing to brave the BIOS settings of aging hardware.

\n\n

From DOS Extenders to Kernel Hacks: The Road to Win9xLS

A close-up view of a laptop screen showing a coding and data analysis software interface in an indoor setting.

\n

The idea of running foreign code on legacy systems isn’t new. In the 1990s, DOS extenders like Phar Lap and Watcom allowed 32-bit applications to run on 16-bit systems, foreshadowing today’s compatibility layers. Microsoft’s own Windows Subsystem for Linux, launched in 2016, drew inspiration from these early experiments, enabling Linux binaries to run on NT kernels through translation. But Windows 9x, built on MS-DOS with a cooperative multitasking model, lacks the architectural isolation of NT, making such a port far more complex. Previous attempts, like the failed \”LinuxDOSE\” project in 2001, collapsed under kernel instability. Åkesson’s breakthrough came from reengineering the Linux scheduler to yield control back to Windows, effectively turning Linux into a \”super application\” rather than a parallel OS. This approach echoes early Unix-on-Mac projects from the 1980s, but with modern tooling and community support.Windows 9x’s hybrid architecture made it notoriously unstable, yet that very fragility offered exploitable seams for low-level manipulation.

\n\n

The People Behind the Port: Hackers, Historians, and Tinkerers

A group of people wearing Guy Fawkes masks in a dark tech-themed room, suggesting anonymity and hacking activities.

\n

Linus Åkesson, a Swedish programmer and demoscene veteran, is no stranger to pushing obsolete systems to their limits. His prior work includes running JavaScript on a Commodore 64 and rendering ray-traced graphics on Nintendo Game Boys. \”I’m not trying to make something useful,\” he said in a recent interview with BBC News, \”but to understand what happens when you violate the assumptions of an OS’s design.\” He’s joined by a loose collective of retrocomputing enthusiasts, many active in communities like Vintage Computer Federation and Hacker News, where the project first gained traction. Some contributors are former Microsoft engineers fascinated by the deconstruction of their old platform; others are students studying OS design through hands-on reverse engineering. Their motivation isn’t nostalgia alone, but a desire to probe the boundaries of software abstraction—what happens when you run a POSIX-compliant system on top of one that barely understood multitasking?

\n\n

Implications for Security, Education, and Legacy Systems

A man wearing a mask posts a COVID-19 prevention poster on a glass door indoors.

\n

While Win9xLS won’t replace Docker or GitHub Codespaces, it offers tangible benefits. For cybersecurity researchers, it provides a controlled environment to study how modern exploits might behave on ancient, unpatched systems—still prevalent in industrial control and medical devices. Educators have begun using it in operating systems courses to demonstrate kernel isolation, system calls, and memory management in stark contrast. Museums and digital archivists see potential in extending the functional life of legacy software without full emulation, preserving not just appearance but behavior. However, risks remain: running networked code on an OS with no memory protection could expose entire systems to cascade failures. Åkesson warns users to run the subsystem only on air-gapped machines, a reminder that innovation on unstable foundations demands caution.

\n\n

The Bigger Picture

\n

This project reflects a growing movement in software known as \”retrocomputing revivalism,\” where developers use modern tools to resurrect and recontextualize obsolete systems. It challenges the assumption that progress requires obsolescence, suggesting instead that old platforms can be reprogrammed, not just remembered. In an age of black-box AI and proprietary cloud stacks, Win9xLS stands as a testament to transparency, control, and the enduring power of curiosity-driven engineering. It also questions the sustainability of digital infrastructure—how much of today’s \”modern\” software will remain accessible in 2040?

\n\n

What comes next may not be Linux on Windows 2000, but the principles behind it: compatibility without compromise, understanding over convenience. As cloud providers lock down their environments and firmware becomes increasingly opaque, projects like Win9xLS remind us that the right to tinker is not just nostalgic—it’s essential. Whether this leads to broader tools for legacy interoperability or remains a brilliant footnote in hacker lore, one thing is clear: the past is not dead. It’s just waiting for a new kernel to wake it up.

❓ Frequently Asked Questions
What is Win9xLS, and how does it run Linux on Windows 9x?
Win9xLS is a custom-built subsystem that allows a stripped-down version of Linux to run as a cooperative process under Windows 9x. It uses a custom compatibility layer to translate Linux syscalls into Win16 and VxD equivalents, making it possible to run Linux natively within Windows 9x.
How is Win9xLS different from WSL2, and what are the implications?
Unlike WSL2, which relies on a full virtual machine, Win9xLS uses a custom compatibility layer to achieve the same result. This approach allows for a more lightweight and efficient implementation, but it also means that Win9xLS may not offer the same level of compatibility or performance as WSL2.
What are the potential use cases for Win9xLS, and why is it significant?
Win9xLS has the potential to be used in a variety of contexts, such as retrocomputing, embedded systems, or even as a proof-of-concept for future software development. Its significance lies in its ability to push the boundaries of what’s possible with software, demonstrating that even seemingly incompatible systems can be made to work together.

Source: Codeberg



Sponsored
VirentaNews may earn a commission from qualifying purchases via eBay Partner Network.

Discover more from VirentaNews

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

Continue reading