Einleitung
Während Microsoft mit WSL (Windows Subsystem for Linux) moderne Windows-Versionen um Linux-Funktionalität erweitert hat, geht das experimentelle Projekt WSL9x den umgekehrten Weg: Es bringt ein vollwertiges Linux-Subsystem auf historische Windows 9x-Systeme. Die Entwicklerin Hailey hat damit eine faszinierende Brücke zwischen alter Hardware und modernem Linux geschlagen.
WSL9x ermöglicht es, den Linux-Kernel 6.19 parallel zum Windows 9x-Kernel zu betreiben – und das ohne Hardware-Virtualisierung. Das System funktioniert sogar auf i486-Prozessoren, einer Architektur, die aktuell aus dem Linux-Kernel entfernt wird.
Voraussetzungen
Für die Installation und Nutzung von WSL9x benötigen Sie:
- Ein funktionsfähiges Windows 9x-System (Windows 95, 98 oder ME)
- Mindestens einen i486-Prozessor oder neuer
- Ausreichend Arbeitsspeicher (mindestens 16 MB empfohlen)
- Entwicklungsumgebung zum Kompilieren des Quellcodes
- Grundkenntnisse im Umgang mit MS-DOS und Windows 9x
- Verständnis für Kernel-Kompilierung und Systemarchitektur
Architektur und Funktionsweise verstehen
Technischer Aufbau
WSL9x basiert auf einer cleveren Architektur, die drei Hauptkomponenten kombiniert:
- Gepatchter Linux-Kernel: Ein modifizierter Kernel aus dem Branch
win9x-um-6.19, der mit der User Mode Linux-Architektur kompiliert wurde - VxD (Virtual Device Driver): Ein virtueller Gerätetreiber, der die Initialisierung übernimmt und das Event-Loop für Seitenfehler und Systemaufrufe verwaltet
- DOS-Terminal-Interface: Das Programm
wsl.comleitet die Terminal-Ausgabe von Linux zurück zur MS-DOS-Eingabeaufforderung
Speicher-Management
Der Linux-Kernel wird an einer festen Basisadresse von 0xd0000000 geladen. Dies ermöglicht die parallele Ausführung beider Betriebssysteme im Speicher, ohne dass sie sich gegenseitig stören.
WSL9x aus Quellcode kompilieren
Entwicklungsumgebung vorbereiten
Da WSL9x keine vorgefertigten Binärdateien bereitstellt, müssen Sie das System selbst kompilieren. Laden Sie zunächst den Quellcode herunter:
git clone https://codeberg.org/hails/wsl9x.git
cd wsl9x
Kernel kompilieren
Der Kompilierungsprozess erfordert eine spezielle Konfiguration für die User Mode Linux-Architektur:
# Kernel-Konfiguration für Windows 9x anpassen
make ARCH=um defconfig
make ARCH=um menuconfig
Stellen Sie sicher, dass folgende Optionen aktiviert sind:
- User Mode Linux Support
- Windows 9x compatibility patches
- DOS terminal interface support
VxD-Treiber erstellen
Der Virtual Device Driver muss separat kompiliert werden:
# VxD-Treiber kompilieren
cd vxd/
make clean
make
Installation auf Windows 9x-System
Dateien übertragen
Kopieren Sie die kompilierten Komponenten auf Ihr Windows 9x-System:
linux.exe– Der kompilierte Linux-Kernelwsl9x.vxd– Der Virtual Device Driverwsl.com– Das DOS-Terminal-Interface
VxD-Treiber registrieren
Bearbeiten Sie die Datei SYSTEM.INI im Windows-Verzeichnis und fügen Sie unter dem Abschnitt [386Enh] hinzu:
[386Enh]
device=C:\WSL9X\wsl9x.vxd
Systemstart konfigurieren
Erstellen Sie ein Startskript für WSL9x:
# wsl9x-start.bat
@echo off
echo Starte WSL9x...
C:\WSL9X\linux.exe
echo WSL9x beendet.
WSL9x verwenden
Linux-Subsystem starten
Öffnen Sie eine MS-DOS-Eingabeaufforderung und navigieren Sie zum WSL9x-Verzeichnis:
cd C:\WSL9X
wsl.com
Nach dem Start sollten Sie eine Linux-Shell-Umgebung sehen, die parallel zu Windows 9x läuft.
Grundlegende Linux-Befehle nutzen
Testen Sie die Funktionalität mit einfachen Befehlen:
# Systeminformationen anzeigen
uname -a
# Dateisystem erkunden
ls -la /
# Prozesse anzeigen
ps aux
Dateiaustausch zwischen Systemen
WSL9x ermöglicht begrenzten Dateiaustausch zwischen Windows 9x und Linux:
# Windows-Laufwerke mounten (falls unterstützt)
mount -t vfat /dev/hda1 /mnt/windows
# Dateien zwischen Systemen kopieren
cp /mnt/windows/datei.txt /home/user/
Überprüfung der Installation
Systemstatus kontrollieren
Überprüfen Sie, ob WSL9x korrekt funktioniert:
# Kernel-Version anzeigen
cat /proc/version
# Speicherverbrauch prüfen
free -m
# Verfügbare Geräte anzeigen
ls /dev/
Performance-Test durchführen
Testen Sie die Leistung des Linux-Subsystems:
# CPU-Informationen
cat /proc/cpuinfo
# Einfacher Benchmark
time dd if=/dev/zero of=/tmp/test bs=1M count=10
Troubleshooting
Häufige Probleme und Lösungen
Problem: WSL9x startet nicht
- Überprüfen Sie, ob der VxD-Treiber korrekt in SYSTEM.INI eingetragen ist
- Stellen Sie sicher, dass ausreichend Arbeitsspeicher verfügbar ist
- Kontrollieren Sie die Dateiberechtigungen der WSL9x-Komponenten
Problem: Kernel-Panic beim Start
# Debug-Informationen aktivieren
linux.exe debug=1 verbose=1
Problem: Terminal-Ausgabe funktioniert nicht
- Überprüfen Sie, ob wsl.com im korrekten Verzeichnis liegt
- Testen Sie alternative DOS-Shells
- Prüfen Sie die Kompatibilität mit Ihrer Windows 9x-Version
Speicher-Probleme beheben
Bei Speichermangel können Sie die Kernel-Parameter anpassen:
# Speicher-Limits reduzieren
linux.exe mem=8M
# Nur essentielle Module laden
linux.exe minimal=1
Erweiterte Konfiguration
Netzwerk-Funktionalität
WSL9x bietet begrenzte Netzwerkunterstützung. Konfigurieren Sie das Netzwerk über:
# Netzwerk-Interface konfigurieren
ifconfig eth0 192.168.1.100 netmask 255.255.255.0
# Default-Gateway setzen
route add default gw 192.168.1.1
Dateisystem-Erweiterungen
Erweitern Sie die verfügbaren Dateisysteme:
# RAM-Disk erstellen
mount -t tmpfs tmpfs /tmp
# Loop-Device für Image-Dateien
mount -o loop disk.img /mnt/loop
Fazit
WSL9x ist ein faszinierendes Experiment, das die Grenzen zwischen alter Hardware und moderner Software-Technologie verschwimmen lässt. Während es primär als Proof-of-Concept und Lernprojekt dient, demonstriert es eindrucksvoll die Flexibilität von Linux-Systemen.
Das Projekt eignet sich hervorragend für Entwickler und System-Administratoren, die:
- Historische Computersysteme verstehen möchten
- Kernel-Entwicklung und Low-Level-Programmierung lernen wollen
- Experimentelle Betriebssystem-Architekturen erforschen
- Retro-Computing-Projekte realisieren
Beachten Sie jedoch, dass WSL9x ein experimentelles Projekt ist und nicht für produktive Umgebungen geeignet. Es dient als Bildungswerkzeug und Demonstration der technischen Möglichkeiten beim Brückenschlag zwischen verschiedenen Betriebssystem-Generationen.
Quelle: It’s FOSS – Microsoft Has WSL, But This Developer Built One for Windows 95