11 ms·
Floppinux – An Embedded Linux on a Single Floppy, 2025 Edition
- heinternets 8mo agoI miss the floppy disk sound and the anticipation then joy of finally loading into the OS.
- szszrk 8mo agoThe omnipresent coil whine in almost every laptop I got in past 15 years, gives me at least that nostalgic noise that says "computer is working". Whish coil whine was configurable :)
- tensility 8mo agoAt a very low level, it is. I know the individual that made a "diagnostic" for the floppy drive while working as a tech on the Apple I and Apple II designs which caused the drive to whine in patterns that were distinctly ... orgasmic.
- szszrk 8mo agothat is just one step from Floppotron... https://silent.org.pl/home/2022/06/13/the-floppotron-3-0/ https://silent.org.pl/home/2022/06/13/the-floppotron-3-0/
- hn_throwaway_99 8mo agoWhat's a floppy?
- mrbluecoat 8mo agoFloppy is a race of robotic jackalopes, known for their floppy ears. A "Single Floppy" is a rare subset of that species where only one ear flops down due to a random mutation of their hardware.
- deafpolygon 8mo agoEmbedding Linux has the characteristic of making the single floppy highly territorial and aggressive.
- vaylian 8mo agohttps://en.wikipedia.org/wiki/Floppy_disk https://en.wikipedia.org/wiki/Floppy_disk It's basically what people used before USB sticks. But it was also the storage medium that software was sold on, before CD-ROMs became widespread.
- GJim 8mo agoIts a real life 3D save icon.
- hilti 8mo agoI remember the QNX Demo on a 1.44 MB floppy disk. It booted straight into a full blown window manager and had a basic web browser. That was 1999 and I never saw anything like that afterwards.
- throwup238 8mo agoWould that even fit the unicode tables today?
- userbinator 8mo agoMenuetOS/KolibriOS: https://news.ycombinator.com/item?id=38059961 https://news.ycombinator.com/item?id=38059961 https://news.ycombinator.com/item?id=27249075 https://news.ycombinator.com/item?id=27249075 That was 1999 and I never saw anything like that afterwards. Now you have ;-)
- hilti 8mo agoWow! I never heard of them. KolibriOS looks promising.
- whalesalad 8mo agoThe first time I booted menuet OS (2005? high school?) I was absolutely floored at how capable (and decent looking) an OS that lives entirely on a 1.44mb floppy could be.
- xkriva11 8mo agoxwoaf-rebuild matches that https://web.archive.org/web/20240901115514/https://pupngo.dk/xwinflpy/xwoaf_rebuild.html https://web.archive.org/web/20240901115514/https://pupngo.dk...
- fix4fun 8mo agoI got the same feeling, whey I saw it first time. How they fit GUI, drivers all that stuff in 1.44MB.
- 6LLvveMx2koXfwn 8mo agoDid I misremember downloading Slackware to 12 floppies in 1997?
- stackghost 8mo agoProbably not. Pretty sure it was Puppy Linux (among I'm sure others) that could be run on just two floppies. I used to have this old 933MHz Coppermine system that I took when a medical office was going to throw it out, some time in the early 00s. The HDD was borked but it had a 3.5" bay that worked, so I got a floppy-based distro running on it. I later replaced the drive and then made the mistake of attempting to compile X11 on it. Results were... mixed.
- gattilorenz 8mo agoMuLinux was also a floppy-based “live” distro, with optional floppy disks for X11, programming languages, etc.
- UncleSlacky 8mo agoThere was also "Tom's Root Boot" distro that fitted on a floppy: https://en.wikipedia.org/wiki/Tomsrtbt https://en.wikipedia.org/wiki/Tomsrtbt
- mkesper 8mo agoThat had to use non-standard image size though. Mind blowing this fits now into regular 1.44MB.
- flomo 8mo agoBefore then, a local clone store had an 'insane deal' on floppy disks, and they came with Slackware. I had a Mac, and the floppies weren't very good so.
- cricalix 8mo ago12‽ I'd swear the Slackware I downloaded was closer to 30+. On dialup. Via a VAX. Using FTP to go from internet to the VAX box, then Kermit from the VAX to the DOS PC using Procomm Plus. Write it all, start the install sequence, find out that the 18th disk was bad. Reboot. Rinse. Repeat. X disks were X11. There were also the A,B, C etc disks. Then there was the Coherent install, with massive manual on ultra thin paper with the shell on the front.
- ggm 8mo agomgr on sun hardware probably could have come close
- Fiveplus 8mo agoThe persistence strategy described here (mount -t msdos -o rw /dev/fd0 /mnt) combined with a bind mount to home is a nice clever touch for saving space. I don't know if that's also true for data integrity on physical magnetic media. FAT12 is not a journaling filesystem. On a modern drive, a crash during a write is at best, annoying while on a 3.5" floppy with a 33mhz CPU, a write operation blocks for a perceptible amount of time. If the user hits the power switch or the kernel panics while the heads are moving or the FAT is updating, that disk is gone. The article mentions sync, but sync on a floppy drive is an agonizingly slow operation that users might interrupt. Given the 253KiB free space constraint, I wonder if a better approach would be treating the free space as a raw block device or a tiny appended partition using a log-structured filesystem designed for slow media (like a stripped down JFFS2 or something), though that might require too many kernel modules. Has anyone out there experimented with appending a tar archive to the end of the initramfs image inplace for persistence, rather than mounting the raw FAT filesystem? It might be safer to serialize writes only on shutdown, would love more thoughts on this.
- zx8080 8mo ago> If the user hits the power switch or the kernel panics while the heads are moving or the FAT is updating, that disk is gone. Makes sense, great point. I would rather use a second drive for the write disk space, if possible (I know how rare it's now to have two floppy drives, but still).
- userbinator 8mo agoControversial position: journaling is not as beneficial as commonly believed. I have been using FAT for decades and never encountered much in the way of data corruption. It's probably found in far more embedded devices than PCs these days.
- Skunkleton 8mo agoIf you make structural changes to your filesystem without a journal, and you fail mid way, there is a 100% chance your filesystem is not in a known state, and a very good chance it is in a non-self-consistent state that will lead to some interesting surprises down the line.
- sockbot 8mo agoOver Christmas I tried to actually build a usable computer from the 32-bit era. Eventually I discovered that the problem isn't really the power of the computer. Computers have been powerful enough for productivity tasks for 20 years, excepting browser-based software. The two main problems I ran into were 1) software support at the application layer, and 2) video driver support. There is a herculean effort on the part of package maintainers to build software for distros, and no one has been building 32 bit version of software for years, even if it is possible to build from source. There is only a very limited set of software you can use, even CLI software because so many things are built with 64 bit dependencies. Secondly, old video card drivers are being dropped from the kernel. This means all you have is basic VGA "safe-mode" level support, which isn't even fast enough to play an MPEG2. My final try was to install Debian 5, which was period correct and had support for my hardware, but the live CDs of the the time were not hybrid so the ISO could not boot from USB. I didn't have a burner so I finally gave up. So I think these types of projects are fun for a proof of concept, but unfortunately are never going to give life to old computers.
- tombert 8mo ago> Computers have been powerful enough for productivity tasks for 20 years It baffles me how usable Office 97 still. I was playing with it recently in a VM to see if it worked as well as I remembered, and it was amazing how packed with features it is considering it's nearing on thirty. There's no accounting for taste but I prefer the old Office UI to the ribbon, there's a boatload of formatting options for Word, there's 3D Word Art that hits me right in the nostalgia, Excel 97 is still very powerful and supports pretty much every feature I use regularly. It's obviously snappy on modern hardware, but I think it was snappy even in 1998. I'm sure people can enumerate here on the newer features that have come in later editions, and I certainly do not want to diminish your experience if you find all the new stuff useful, but I was just remarkably impressed how much cool stuff was in packed into the software.
- mikepurvis 8mo agoIt's crazy too to realise how much of the multi-application interop vision was realized in Office 97 too. Visual Basic for Applications had rich hooks into all the apps, you could make macros and scripts and embed them into documents, you could embed documents into each other. It's really astonishing how full-featured it all was, and it was running on those Pentium machines that had a "turbo" button to switch between 33 and 66 MHz and just a few MBs of RAM.
- jdub 8mo ago> After 5 minutes I got freshly burned floppy. oh god
- userbinator 8mo agoThat is an indication of someone who grew up in the CD-R/RW era.
- yjftsjthsd-h 8mo agoI thought Linux dropped driver support for real floppy drives. Did that not happen, or am I missing something?
- madduci 8mo agoNo but I find this line interesting: The Linux kernel drops i486 support in 6.15 (released May 2025), so 6.14 (released March 2025) is the latest version with full compatibility.
- zx8080 8mo agoAny chance of backporting changes to be able to run on older hardware?
- yjftsjthsd-h 8mo agohttps://kernel.org/ https://kernel.org/ says 6.12 is still a supported LTS, so you could just run that.
- creatonez 8mo agoDon't think so? Linux should still support almost all builtin motherboard floppy controllers, for the platforms it still runs on. ISA floppy controller support is probably not as comprehensive, but not because anything has been dropped.
- yjftsjthsd-h 8mo agoHuh, yeah looks like I misremembered.
- jabl 8mo agoSomeone was still working on some minor cleanups in August 2025: https://lore.kernel.org/lkml/20250825163545.39303-1-andriy.shevchenko@linux.intel.com/ https://lore.kernel.org/lkml/20250825163545.39303-1-andriy.s... (That mail also mentions the floppy driver is "basically orphaned" though. But evidently it's still there and builds.) Maybe you're thinking of the floppy tape (ftape) driver, which was removed back in the 2.6.20 kernel. Though there's a project keeping an out-of-tree version of it working with recent kernels at https://github.com/dbrant/ftape https://github.com/dbrant/ftape
- dirkc 8mo agoWe used to call the 1.44MB (3.5inch) disk stiffies, since they are rigid, while the physically bigger disks we used to refer to as floppies. And they used to fail all the time, especially when you had something that spanned more than a single disk.
- urbandw311er 8mo agoIs that name used with an eyebrow raised, or did that particular double entendre not make it out of the UK?
- dirkc 8mo agoMy level of English was very basic during the age of stiffies, so that double entendre never occurred to me at the time
- lproven 8mo ago> We used to call the 1.44MB (3.5inch) disk stiffies Are you from South Africa? I understand it was the standard slang name there -- and nowhere else, because of the double entendre.
- grewil2 8mo agoSince it’s an 1.44M image I assume they use 3.5” diskettes. The terms floppy and diskette are used as synonyms today, but the different names make sense since floppies are flexible and “floppy”. Diskettinux?
- jstrebel 8mo agoOk, impressive, but - why? No current computer has a floppy disk drive anymore. The Web Page claims building such a disk is a learning exercise, but the knowledge offered is pretty arcane, even for regular Linux users. Is this pure nostalgia?
- deleted 8mo ago[deleted]
- cbdevidal 8mo agoIf you have to ask why this is not for you. Why climb a mountain that’s already been climbed hundreds of times? For the challenge.
- jstrebel 8mo agoWell, in a world of finite resources, I think I would need a better reason to invest time into this topic than just "for the challenge". I mean I just think that I have ample opportunities to do something more sensible with my time. Climbing a mountain at least gives you bragging rights; I don't think a bootable floppy disk is impressing anyone these days.
- cbdevidal 7mo ago> I don't think a bootable floppy disk is impressing anyone these days. Scroll up
- mobilio 8mo ago25 years ago i used floppyfw https://www.zelow.no/floppyfw/ https://www.zelow.no/floppyfw/ to setup small router on 486 with 12 MB ram and run flawless. Later i get Linksys WRT54GL and decommissioned that machine.
- zoobab 8mo agoI was making routers our of old PCs (486 or early pentiums) with 2 network cards (3com or ne2000) back in 2000 with floppies and CoyoteLinux. Installed 10s of them in the students houses.
- ThinkingGuy 8mo agoI was hoping someone would mention CoyoteLinux. It was my residential router for several years in the early 2000s. My 'disaster recovery plan' consisted of a second floppy disk (which fortunately I never had to use).
- urbandw311er 8mo agoThere’s something really lovely about this project - especially as they’re using the last kernel from May 2025 before x486 support was removed. It feels like somebody lovingly mending their car for one last time or something similar. (I’m tired but you can probably find a cuter metaphor)
- amelius 8mo agoI remember the days when Linux came on 50 floppies.
- tensility 8mo agoIf I recall correctly, when you wanted all of the bells and whistles that Slackware had to offer, it required 72 floppy disks.
- cbdevidal 8mo agoIt’s amazing to me that the floppy is still a relevant target unit. Just large enough to be useful, small enough to be a real challenge to use well. I don’t see the same passion for 700MB CDROM distributions, probably because the challenge just isn’t there.
- tensility 8mo agoBring back Slackware?
- ok123456 8mo agoIt never went anywhere.
- M95D 8mo agoI wonder if formatting the floppy is necessary. Could syslinux or maybe lilo load the kernel directly from raw floppy sectors and have the initrd appended to it and the commad line directly inside the kernel via CONFIG_CMDLINE? I know u-boot can do it, but that's 8+ MB. As an alternative, isn't ext2 smaller by having no FAT tables?
- arthurfirst 8mo agoThe original software for the ISS (space station) was stored on a single floppy disk. Not sure about density but one of the engineers told me.
- deleted 8mo ago[deleted]
- kiriberty 8mo agoOk now I need to buy a floppy drive and floppy disks in 2026? Hmm where should I go to buy those?
- mlacks 8mo agoReminds me of my first linux distro called damnsmall linux. I think this was used as a first attempt to port linux to the gamecube, but the main team driving the effort ended up going with Gentoo instead. From the main page: As with most things in the GNU/Linux community, this project continues to stand on the shoulders of giants. I am just one guy without a CS degree, so for now, this project is based on antiX 23 i386. AntiX is a fantastic distribution that I think shares much of the same spirit as the original DSL project. AntiX shares pedigree with MEPIS and also leans heavily on the geniuses at Debian. So, this project stands on the shoulders of giants. In other words, DSL 2024 is a humble little project! Though it may seem comparably ridiculous that 700MB is small in 2024 when DSL was 50MB in 2002, I’ve done a lot of hunting to find small footprint applications, and I had to do some tricks to get a workable desktop into the 700MB limit. To get the size down the ISO currently reduced full language support for German, English, French, Spanish, Portuguese and Brazilian Portuguese (de_DE, en_AU, en_GB, en_US, es_ES, fr_FR, es_ES, pt_PT, & pt_BR ). I had to strip the source codes, many man pages, and documentation out. I do provide a download script that will restore all the missing files, and so far, it seems to be working well. https://www.damnsmalllinux.org/ https://www.damnsmalllinux.org/
- alsetmusic 8mo agoI was just reacquainting myself with Puppy Linux, DSL, and TinyCoreLinux a couple weeks ago to sandbox an LLM agent in a VM. Good stuff. For those who are curious, Alpine was the recommended distro as I went through various reviews. I don't know how reliable that advice is.
- zamadatix 8mo agoAlpine is great, especially for anything single purposed and headless (be it physical, VM, or container) so long as that thing isn't too tied to glibc. Been around a long time with a stable community (who are mostly using it for containers). It also defaults to a typical versioned release scheme but has the ability to switch to rolling just by changing the repo if you know you need the latest versions. I once tried to use it as a GUI daily driver on my work laptop (since I was already using it for containers and VMs at work) and found that stretched it a bit too far out of its speciality. It definitely had the necessary packages, just with a lot of rough edges and increased rate of problems (separate from glibc, systemd, or other expected compatibility angles). Plus the focus on having things be statically linked makes really wide (lots of packages) installs negated any space efficiency gains it had.
- alsetmusic 8mo agoSo, about twenty people still have hardware to run this? I respect the work regardless.
- dspillett 8mo ago> There is 264KB of space left for your newly created files. This could be increased noticeably by using one of the common extended floppy formats. The 21-sectors-per-track format used by MS¹ for Windows 95's floppy distribution was widely supported enough by drives (and found to be reliable enough on standard disks) that they considered it safe for mass use, and gave 1680KB instead of the 1440Kb offered by the standard 18-sector layout. The standard floppy formatting tools for Linux support creating such layouts. -------- [1] There was some suggestion² that MS invented the extended floppy format, they were sometimes called “windows format”, but it³ had been used elsewhere for some time before MS used them for Windows and Office. [2] I'm not sure if this came from MS themselves, or was invented by the tech press. [3] and even further extended formats, including 1720KByte by squeezing in two extra tracks as well as more data per track which IIRC was used for OS/2 install floppies.
- incanus77 8mo agoMy search continues for a Linux that will run on my 386SX 25MHz with 8MB RAM. So far I’ve only been able to use ELKS, which technically isn’t a Linux.
- dmitrygr 8mo agoin theory, 2.4-vintage mainline kernel should be buildable for your system. try it
- incanus77 8mo agoI should've been more clear. Sure, I started my Linux days on 2.0.36, which booted by floppy, on a Pentium 2. But what I want is some semblance of a distro, with tools and a way to do things, not just rolling my own technically-bootable kernel.
- dmitrygr 8mo agodebian, a few releases back or busybox (surprisingly useful)
- incanus77 8mo agoNote that i386 does not mean that the 386 is supported. Distros have removed support for 386 for many years, and some for 486 for years as well.
- dmitrygr 8mo agohttps://web.archive.org/web/20151223083654/https://www.debian.org/releases/jessie/i386/ch02s01.html.en https://web.archive.org/web/20151223083654/https://www.debia... Sarge dropped i386, Squeeze i486
- anthk 8mo agohttp://delicate-linux.net/ http://delicate-linux.net/ This. add 8-16MB of RAM and you will happily run X.
- st_goliath 8mo agoHave you tested this on an actual 486? Sadly, it does not seem to boot on my 486 DX2, I even stuffed 32M of RAM into the machine (8*4M, maximum the mainboard supports), more than the recommended 20M. I have copied the floppy image from the site. It churns for about a minute and a half, loading kernel and initrd, then says "Booting kernel failed: Invalid Argument" and drops into SYSLINUX prompt. EDIT: I tried a few more floppies to rule that out as the cause of the problem. Here are some screenshots: https://imgur.com/a/floppinux-0-3-1-Mdh1c0w https://imgur.com/a/floppinux-0-3-1-Mdh1c0w EDIT 2: I cloned SYSLINUX, checked out the specific commit and did some prodding around. The function `bios_boot_linux` in `com32/lib/syslinux/load_linux.c` initializes errno to EINVAL. Besides sanity checking the header of the kernel image, there are a few other error paths that also `goto bail;` without changing errno. Those other error paths all seem to be related to handling the memory map. I know that the BIOS in my machine does not support the E820h routine. I have a hunch that this might be the reason why it fails. The website has an image gallery where people ran it on actual hardware: https://krzysztofjankowski.com/floppinux/floppinux-in-the-wild.html https://krzysztofjankowski.com/floppinux/floppinux-in-the-wi... Most of those machines seem to be newer systems which probably support E820h, except for another 486 DX2 with a similar vintage as mine, that also failed to boot.
- deleted 8mo ago[deleted]
- snac 8mo agoWhat’s your board and BIOS? Syslinux 6.x COM32 Linux loader goes through the memmap layer syslinux_memmap_find() to place the kernel/initrd. If INT 15h E820 is missing and/or buggy on a 486 BIOS, it can surface as “invalid argument”. For my 486 distro[see snacklinux.org], I use syslinux 4.07 due to similar issues. I never had any luck with syslinux 6.x, I’d recommend a similar path. It always seems funny to me when I see similar projects, claiming it runs on 486 hardware but rarely do I see people actually doing that, and just fire up qemu instead. Running Linux in a vacuum isn’t realistic, especially when we’re talking old hardware and configuring IRQs manually.
- st_goliath 8mo ago
- cognitivesystem 8mo ago[dead]