11 Punkte von GN⁺ 2026-02-04 | 1 Kommentare | Auf WhatsApp teilen
  • Die leichtgewichtige Linux-Distribution Floppinux, die von einer einzelnen Diskette (1,44 MB) booten kann, wurde auf die Ausgabe 2025 (v0.3.1) aktualisiert
  • Die neue Version basiert auf Linux-Kernel 6.14.11 und BusyBox 1.36.1 und bringt persistenten Speicher (264 KB) sowie Kompatibilität mit aktueller Hardware mit
  • Sie läuft mit nichts weiter als einer Intel 486DX (33 MHz) oder besseren CPU und 20 MB RAM und unterstützt einen Texteditor (vi) sowie grundlegende Befehle zur Dateiverwaltung
  • Sie funktioniert sowohl auf echter Hardware als auch in Emulatoren (qemu, Bochs, 86Box) und ist so aufgebaut, dass Nutzer Kernel und Toolchain selbst bauen
  • Seit der ersten Veröffentlichung vor 4 Jahren wird sie für Ausbildung und Experimente genutzt; diese Ausgabe legt den Schwerpunkt auf die Pflege eines aktuellen Kernels und die Aktualisierung von Lern-Tutorials

Projektüberblick

  • Floppinux verfolgt das Ziel, ein minimales Linux-System zu bauen, das von einer einzelnen Diskette booten kann
    • Es ist als Workshop zum Lernen ähnlich wie „Linux From Scratch“ konzipiert, sodass Nutzer es direkt anpassen und erweitern können
  • Die fertige Distribution bietet eine textbasierte Terminalumgebung, in der Dateien bearbeitet und einfache Skripte geschrieben werden können
  • Der verbleibende Speicherplatz beträgt 264 KB, sodass Nutzer erstellte Dateien direkt auf der Diskette speichern können

Kernfunktionen und Systemanforderungen

  • Unterstützung für Boot von einer einzelnen Diskette, aktuellen Kernel (6.14) und 32-Bit-x86-CPUs (ab 486DX)
  • Enthält Texteditor (vi), grundlegende Befehle zur Dateiverwaltung (cat, cp, mv, rm usw.) und Funktionen für einfaches Skripting
  • Dateien können über persistent storage direkt auf der Diskette gespeichert werden
  • Minimale Hardwareanforderungen: Intel 486DX 33 MHz, 20 MB RAM, internes Diskettenlaufwerk

Kernel-Konfiguration

  • Verwendet wird Linux 6.14.11, der letzte Kernel, der i486-CPUs vollständig unterstützt
  • Die Kernel-Konfiguration ist auf minimale Boot-Funktionalität ausgerichtet und umfasst XZ-komprimiertes initramfs, Unterstützung für ELF-Ausführung und das FAT-Dateisystem
  • Unterstützung für TTY, Blockgeräte sowie die Dateisysteme /proc und sysfs ist aktiviert
  • Das Ergebnis des Kernel-Builds wird als bzImage (881 KiB) erzeugt

Build-Umgebung und Toolchain

  • Der Build erfolgt unter Omarchy Linux (Arch-basiertes 64-Bit-OS); auf POSIX-kompatiblen Systemen ist dasselbe Verfahren ebenfalls anwendbar
  • Mit dem Cross-Compiler i486-linux-musl-cross werden Builds für ein 32-Bit-Ziel unterstützt
  • Als Emulationsumgebung wird qemu verwendet, Bochs dient zum Debugging, und 86Box ist langsam, aber als Alternative nutzbar

Auf BusyBox basierendes Toolset

  • Verwendet wird BusyBox 1.36.1, das eine leichtgewichtige Sammlung von Befehlen als Ersatz für GNU-Utilities bereitstellt
  • Ausgewählte wichtige Befehle: cat, cp, df, echo, ls, mkdir, mv, rm, sync, vi, mount, umount, clear, test
  • Es wird als statisches Binary (static binary) gebaut, wodurch Abhängigkeiten von Shared Libraries entfallen
  • Das nach dem BusyBox-Build erzeugte Root-Dateisystem (rootfs.cpio.xz) ist 137 KiB groß

Dateisystem- und Initialisierungskonfiguration

  • Enthält eine minimale Verzeichnisstruktur sowie Willkommensmeldung (welcome), inittab und rc-Initialisierungsskript
    • Das rc-Skript mountet /proc und /sys, erstellt anschließend das Verzeichnis /home und mountet die Diskette unter /mnt
    • Beim Booten wird nach Ausgabe des Willkommensbanners die Shell (/bin/sh) gestartet
  • Über die Konfiguration von syslinux.cfg werden Boot-Meldungen und Kernel-Parameter festgelegt
    • APPEND root=/dev/ram rdinit=/etc/init.d/rc console=tty0 tsc=unstable

Erzeugung des Boot-Images

  • Nach dem Erstellen des 1,44-MB-Disketten-Images (floppinux.img) wird es formatiert und der Bootloader (syslinux) installiert
  • Kernel, Root-Dateisystem und Konfigurationsdateien werden in das Image kopiert
  • Nach dem Boot-Test mit qemu kann das Image auf eine echte Diskette geschrieben werden
  • Es wird vor dem Risiko von Datenverlust bei Auswahl des falschen Laufwerks gewarnt

Abschließende Zusammenfassung

  • Version: 0.3.1 (Dezember 2025)
  • Kernel: 6.14.11
  • BusyBox: 1.36.1
  • Image-Größe: 1.44MiB
  • Verbleibender Speicherplatz: ca. 253 KiB
  • Unterstützte Befehle: Dateiverwaltung (cat, cp, mv, rm, ls, mkdir), Systemverwaltung (df, sync, mount, umount), Textverarbeitung (echo, more), Editor (vi)

Bedeutung

  • Floppinux ist eine ultraleichte Distribution, die für das Lernen des Linux-Kernel-Aufbaus und des Boot-Prozesses optimiert ist
  • Sie realisiert eine vollständige Linux-Umgebung, die auch auf echter Hardware lauffähig ist, auf einer einzigen Diskette
  • Sie eignet sich als Beispielplattform für Ausbildung, Experimente mit Retro-Systemen und den Einstieg in die Embedded-Entwicklung

1 Kommentare

 
GN⁺ 2026-02-04
Hacker-News-Kommentare
  • Zu Weihnachten habe ich versucht, einen Computer aus der 32-Bit-Ära in einen tatsächlich nutzbaren Zustand zu bringen.
    Das Problem war nicht die Leistung, sondern die Software-Unterstützung und die Videotreiber.
    Heute werden kaum noch Pakete für 32 Bit gebaut, sodass selbst die CLI wegen 64-Bit-Abhängigkeiten nur eingeschränkt nutzbar ist.
    Auch im Kernel sind alte GPU-Treiber verschwunden, sodass nur noch der grundlegende VGA-Modus bleibt und selbst MPEG2-Wiedergabe mühsam ist.
    Am Ende wollte ich Debian 5 passend zur Hardware installieren, habe aber aufgegeben, weil die damalige ISO nicht von USB booten konnte.
    Mein Fazit: Solche Projekte machen Spaß, sind aber für den praktischen Einsatz schwierig.

    • Ich habe Office 97 in einer VM ausprobiert, und es ist immer noch funktionsreich und schnell.
      Mir gefällt die ältere Oberfläche besser als das Ribbon-UI, und Funktionen wie WordArt wecken Nostalgie.
      Die Funktionen aktueller Versionen sind zwar gut, aber es ist erstaunlich, wie ausgereift fast 30 Jahre alte Software noch ist.
    • Das scheint eher eine Linux-spezifische Geschichte zu sein.
      NetBSD bietet weiterhin Pakete und pkgsrc für i386 an.
      Link zum pkgsrc-Repository
      Ich bevorzuge ohnehin den VGA-Textmodus gegenüber Grafik.
    • Das Problem ist nicht die Leistung, sondern die Aufgeblähtheit moderner Software.
      Es gibt zu viele browserbasierte Apps und zu viele langsame Programme, die in JS geschrieben sind.
      Dass LLMs auf solchem Code trainiert werden, ist interessant.
    • Ich erinnere mich daran, Anfang der 2000er mit einem AMD 800MHz und 256MB RAM einen CS-1.6-Server betrieben zu haben.
      Selbst zusammen mit NAT-Gateway und Webserver lief das problemlos.
      Dass sich heute selbst 16GB nicht genug anfühlen, ist eine ironische Realität.
    • Ich empfehle den Plop Boot Manager.
      Er bootet von Diskette oder CD und ermöglicht so auch auf alten PCs das Chainloading von USB.
      Ich habe ihn auf einem Pentium MMX verwendet; langsam, aber funktionierte gut.
  • Meine erste Linux-Distribution war früher Damn Small Linux (DSL).
    Ursprünglich wurde sie bei einem GameCube-Portierungsversuch verwendet, aber das Hauptentwicklerteam wechselte später zu Gentoo.
    Das aktuelle DSL 2024 basiert auf antiX 23 i386 und hat Sprachpakete und Dokumentation reduziert, um eine Desktop-Umgebung innerhalb der 700MB-Grenze unterzubringen.
    Mit einem Restore-Skript lassen sich die benötigten Dateien wieder herunterladen.
    Offizielle Website

    • Ich habe mir kürzlich Puppy Linux, DSL und TinyCoreLinux noch einmal angesehen und daraus eine VM für LLM-Agent-Sandboxing gebaut.
      In Reviews wurde Alpine als empfohlene Distribution genannt, aber bei der Verlässlichkeit bin ich mir nicht sicher.
  • Ich habe es auf einem echten 486 getestet, aber der Bootvorgang schlug fehl.
    Mit 32MB RAM erschien der Fehler „Booting kernel failed: Invalid Argument“.
    Vermutlich liegt es daran, dass das BIOS die E820h-Speichermap-Routine nicht unterstützt.
    Dazu gibt es einen Screenshot und eine
    Galerie mit echter Hardware.

  • Die im Artikel vorgestellte FAT12-basierte Persistenzstrategie ist ein cleverer Ansatz, um Platz zu sparen.
    Allerdings haben Disketten kein Journaling, daher ist das Risiko von Datenbeschädigung bei Stromausfall hoch.
    Stattdessen könnte ein Log-structured Filesystem wie JFFS2 oder eine Serialisierung per tar nur beim Herunterfahren sicherer sein.

    • Journaling ist vermutlich kein so großer Vorteil, wie man denkt.
      Ich habe jahrzehntelang FAT verwendet und kaum je Datenbeschädigungen erlebt.
      Auch heute nutzen die meisten Embedded-Geräte noch FAT.
    • Selbst mit FAT lässt sich durch Treiberdesign eine Stabilität auf Journaling-Niveau erreichen.
      Wenn man die Reihenfolge von FAT1/FAT2-Kopien und Dateigrößen-Updates anpasst, ist Wiederherstellung nach Abstürzen möglich.
    • Früher gab es Dinge wie initrd nicht, und das gesamte System wurde direkt von der Disk gelesen.
      Slackware 8 oder auch aktuelles NetBSD behalten diese Struktur bis heute bei.
    • Möglich wäre auch ein Ansatz wie bei OpenWrt mit einer squashfs- + jffs2-Overlay-Struktur, also einem schreibgeschützten Root-Dateisystem plus beschreibbarem Overlay.
    • Um das Risiko eines Stromausfalls zu verringern, wäre ein zweites Diskettenlaufwerk wohl die bessere Lösung.
  • Ich erinnere mich an die QNX-Demo-Diskette von 1999.
    Von einer 1.44MB-Disk starteten direkt GUI und Webbrowser.
    Seitdem habe ich so etwas nicht mehr gesehen.

    • MenuetOS/KolibriOS ist ein ähnliches Beispiel.
      Solche Systeme existieren inzwischen wieder.
    • Auch xwoaf-rebuild gehört in diese Kategorie.
    • Als ich das zum ersten Mal sah, konnte ich kaum glauben, dass GUI und Treiber in 1.44MB passen.
    • Heutzutage würde vermutlich schon allein die Unicode-Tabelle den Platz sprengen.
  • Um die verbleibenden 264KB zu vergrößern, kann man ein erweitertes Diskettenformat verwenden.
    Mit einem Format von 21 Sektoren pro Spur wie bei Windows-95-Installationsdisketten sind bis zu 1680KB möglich.
    Auch mit den Standard-Formatierungswerkzeugen unter Linux lässt sich ein solches Layout erzeugen.

  • Mir fehlen das Geräusch von Disketten und die Spannung beim Laden.

    • Das Coil Whine moderner Laptops ist das Nächste, was mich noch an dieses „Der Computer arbeitet gerade“-Geräusch von damals erinnert.
      Es wäre schön, wenn man diesen Klang per Einstellung regeln könnte.
  • Über den Satz „eine Diskette in 5 Minuten brennen“ musste ich lachen.

    • Das ist eindeutig eine Formulierung mit dem Flair der CD-R/RW-Generation.
  • Ich frage mich, ob man die Diskette überhaupt formatieren muss.
    Wenn syslinux oder lilo den Kernel direkt aus den Diskettensektoren laden könnten, wäre das vielleicht einfacher.
    ext2 könnte sogar kleiner sein als FAT.

  • Ich erinnere mich daran, 1997 Slackware als 12-Disketten-Set bekommen zu haben.

    • Damals wurden im Laden Disketten mit Slackware zu einem „verrückten Sonderpreis“ verkauft.
      Die Qualität war allerdings nicht besonders gut, was die Installation schwierig machte.
    • MuLinux war ebenfalls eine Disketten-basierte Live-Distribution und ließ sich mit zusätzlichen Disketten für X11 oder Sprachpakete erweitern.
    • Tatsächlich waren es wohl eher über 30 Disketten.
      Ich habe sie per FTP auf einer VAX heruntergeladen, dann mit Kermit auf einen DOS-PC übertragen und installiert; wegen defekter Disketten musste ich den Vorgang mehrfach wiederholen.
      Die X-Serie war für X11, die A/B/C-Serien für das Basissystem.
    • Wahrscheinlich war es Puppy Linux, das mit zwei Disketten lief.
      Ich habe es auf einem 933MHz-Coppermine-System verwendet und erinnere mich daran, später nach einem HDD-Tausch erfolglos versucht zu haben, X11 zu bauen.