An Embedded Linux on a Single Floppy

(github.com)

35 points | by modinfo 2 days ago

6 comments

  • muppetman 1 hour ago
    I wonder why it needs 20MB minimum. Back in the day linux 2.0.33 would boot happily into a GUI and everything on an 8MB machine.

    Or maybe I misremember... I know my machine at the time got upgraded to 24MB so maybe it was that machine I was running.

    Anyway it's neat this can still be done.

    • walrus01 33 minutes ago
      I'm going to guess from the size of the kernel, since for distribution it has to be a fairly 'generic' kernel with just about every driver built into it. If one were to compile a custom 6.14 kernel for a specific hardware target with only 1 model of NIC (3c509b for example), etc, it could be a lot smaller.
    • dcminter 14 minutes ago
      You could run X11 in 4Mb at one point, although I rather wished I didn't.
    • kjs3 29 minutes ago
      I think you could run 2.0 + X11 in 4MB in a pinch. I know I ran 2.2 + X11 in 5MB on a cast-off i386SX; tight but useable. If I recall right, 2.0 & 2.2 would run in 2MB without X11 (but a GUI like MGR might fit). 8MB was pretty good and 16MB was positively spacious.

      Edit: Add: 2MB/4MB boot with a stripped down kernel, not generic.

  • Crunchified 1 hour ago
    I always had a muLinux disk handy in my computer toolbox. Most of its shell commands came from a simple script ingeniously written by the distro's author. It's been around since the mid-90s, I'd guess.

    https://micheleandreoli.org/public/Software/mulinux/mu/html/...

  • littlecranky67 3 hours ago
    I remember around 2002 running my home router without any hdd on fli4l - a single floppy linux router distribution. I slept in the same room as the router was, hence I wanted a solution without a noisy hdd from that era.
    • d3Xt3r 27 minutes ago
      There was also tomsrtbt[1], which was a staple in my "rescue" floppy collection. Along with the QNX floppy[2], which came in super handy when using a cyber café or a friend's PC, and you wanted to avoid all the keyloggers and malware.

      [1] https://en.wikipedia.org/wiki/Tomsrtbt

      [2] http://toastytech.com/guis/qnxdemo.html

    • s0rce 1 hour ago
      I used Freesco another single floppy distribution around that time. I tihnk I had in on old pentium 66 MHz
    • elevation 2 hours ago
      Was the floppy quieter than an HD?
    • ForOldHack 2 hours ago
      At the same time, I was running a home router without any HDD on LRP, Linux Router Project, which was a distribution from Swansea Linux, and was a floppy image, that decompressed into RAM, and then chrood to the RAM image. Really nifty, except for the 486 machine had a Pentium Overdrive, which was vulnerable to F00F, and we got owned... only to reboot again, and back to our normal image.

      Since it had no hard disk, and no monitor, it was quiet, and used little power.

  • EvanAnderson 2 hours ago
    I guess I made a floppy-based "distribution" of Linux back in the late 90s without even realizing it.

    I built it to do network-based disk imaging of fleets of Windows 9X PCs in a K12 school district. I used udpcast[0] to receive the image of a FAT32 volume (as a raw dd of the source drive gzip'd) and would stream it in realtime (decompressing and writing) to the hard disk drive on the clients.

    I would run the udpcast sender on a "gold master" PC and stream its drive out to as many clients as I wanted (over 10Base-T Ethernet at the time, but later over faster networks). Since the sending PC's CPU was typically the bottleneck the receiving PCs never had problems falling behind receiving and writing the stream.

    The most time consuming part of this "generation" of the tool was writing all zeros to the free space on the "gold master" computer to minimize transferring "slack" space (since I was just using dd and not a filesystem-aware tool). I'd mount up the drive in a Linux distro and dd from /dev/zero to a dummy file on the volume until it was full, then delete the dummy file. (One of Jeff's axioms of computing in play: Never underestimate the power of stupid technology.)

    I updated the "distribution" in the early 2000's to support NTFS using the various ntfsprogs tools (ntfsclone, ntfsresize) to support imaging Windows XP machines. It was vastly more efficient than the dd method because it only transferred the used blocks of the filesystem.

    Since you could make bootable CDs (and later DVDs) using floppy diskette images as the "boot media" I updated the "distribution" again to support mounting a local optical disk and streaming the image off a bzip2'd ntfsclone image. I even added some silly multi-disk "spanning" capability for images >4.7GB. (It was very janky and involved recombining the image chunks in a temporary partition on the local drive, then imaging the machine from that local copy. The I/O contention of reading / writing from the same drive made that very, very slow.)

    Finally, when PXE-capable NICs were more common, I would PXE boot the "distribution" (because PXE easily supported booting floppy disk images) and modified it to pull from HTTP, local optical drive, or udpcast.

    I gave up when AHCI became common because I couldn't keep up with making the "modern" Linux kernels work with the various models of PCs I was using. I moved over to a Windows PE-based tool in about 2006 - 2007.

    [0] http://www.udpcast.linux.lu/

  • delduca 1 hour ago
    I used to use brazilfw on my server, it was only a single floppy
  • znpy 2 hours ago
    “Floppydistros” were a thing back in the day.

    When i was 12 or 13 in the very early 2000s i tried to download something called “coyote linux” (from sourceforge iirc) and boot it on an internet cafe pc because i really wanted to try this linux thing.

    But i was very nooby and of course it mostly didn’t go anywhere. I have vague memories of maybe getting it to boot, getting a shell and then not know what to do with it.

    Fun times :)

    • dddw 2 hours ago
      I remember qnx
      • smilespray 2 hours ago
        Full network stack and a web server on a 1.44MB floppy!
        • d3Xt3r 31 minutes ago
          And a Javascript capable HTML4 browser, and a decent-looking and performant GUI desktop too.

          It's a shame QNX (desktop) died, used to be way more performant and stable compared to Linux or anything else back in the day.