Inleiding
Een recent project demonstreert dat een complete Linux‑distributie op een enkele 1,44 MB floppy kan draaien. Dit is opmerkelijk gezien de beperkte opslag en de noodzaak om kernel, init‑systeem, gebruikershulpmiddelen en een minimale applicatie‑stack te bevatten.
Technische uitgangspunten
- Bestandssysteem: Een compact, read‑only bestandssysteem (bijv. SquashFS) wordt gebruikt om de kernel en root‑filesystem te comprimeren.
- Kernelconfiguratie: Alleen essentiële drivers (IDE/FD, minimale netwerkstack) worden gecompileerd; alle overbodige modules zijn uitgeschakeld om de binary onder 1 MB te houden.
- Init‑proces: Een vereenvoudigde init (busybox init) laadt de minimale services; geen systemd of andere zware init‑systemen.
- Toolchain: Cross‑compilatie met een geoptimaliseerde GCC‑toolchain, waarbij -Os en -flto worden toegepast om de codegrootte te minimaliseren.
Implementatie‑stappen
- Selectie van kernel‑versie: Een LTS‑kernel (bijv. 5.4) wordt gepatcht om floppy‑ondersteuning als ingebouwde driver te includeren.
- Bestandssysteem‑creatie: Met
mksquashfswordt een root‑filesystem van ~900 KB gegenereerd, bestaande uit BusyBox, minimale libc en een enkele shell. - Bootloader: Een kleine bootloader (Syslinux of een aangepaste GRUB‑stage1) wordt op de floppy geplaatst; deze laadt de kernel direct vanaf sector 0.
- Testing: Emulatie in QEMU bevestigt functionaliteit voordat de fysieke floppy wordt gebrand.
Analyse van efficiëntie
- Opslaggebruik: Het totale beeld blijft onder de fysieke limiet (1,44 MB) dankzij compressie en het weglaten van niet‑kritieke componenten.
- Opstarttijd: Door de kernel en root‑filesystem op dezelfde media te hebben, wordt de I/O‑latentie geminimaliseerd; opstart binnen enkele seconden.
- Complexiteit: Het project illustreert een lineaire tijdscomplexiteit O(n) voor het bouwen van de image, waarbij n het aantal toegevoegde bestanden is.
Toepassingsscenario’s
- Educatief: Ideaal voor demonstraties van embedded systemen en minimalistische OS‑ontwerpen.
- Hersteltools: Een floppy‑gebaseerde rescue‑omgeving kan op oude hardware worden ingezet.
- IoT‑prototype: Voor zeer beperkte apparaten waar opslag en kosten cruciaal zijn.
Conclusie
Het realiseren van een volledig Linux‑systeem op één floppy vereist strikte optimalisatie van kernel, bestandssysteem en gebruikershulpmiddelen. Het project toont aan dat met gerichte keuzes en geavanceerde compressietechnieken zelfs een modern OS binnen extreme hardware‑limieten kan functioneren.