[HN Gopher] Floppinux - An Embedded Linux on a Single Floppy
___________________________________________________________________
Floppinux - An Embedded Linux on a Single Floppy
Author : todsacerdoti
Score : 91 points
Date : 2021-05-22 15:46 UTC (7 hours ago)
(HTM) web link (bits.p1x.in)
(TXT) w3m dump (bits.p1x.in)
| raflemakt wrote:
| That's awesome. I recently ran
| [ELKS](https://github.com/jbruchon/elks) (Embedded Linux Kernel
| Subset) on a Toshiba T1200 laptop from 1987 with an 8086
| processor. Booting into a unix-like system from a floppy with
| recently developed software is just surreal.
| sigzero wrote:
| I remember putting in a single floppy of QNX. That was awesome.
| shimonabi wrote:
| I remember running QNX from a single floppy in the 90's.
|
| http://toastytech.com/guis/qnxdemo.html
| alblue wrote:
| You can get the qnx do floppy from archive.org:
|
| https://archive.org/details/qnx303
| w84death wrote:
| This blow my mind back then.It is still super impressive.
| anigbrowl wrote:
| The very first version of Linux was bootable from a floppy and
| required 4 x 1.44" FDs to install.
| antongribok wrote:
| This reminded me of DSL [0]. I used to use it as my router 15
| years ago.
|
| The box was loud while booting (because of the floppy), but once
| booted was completely silent as everything ran from RAM. The
| Pentium CPU had just a heatsink with no fan, and no fan on the
| power supply.
|
| [0] http://www.damnsmalllinux.org/
| gnampolo wrote:
| Its not linux, but I remember also this OS working on a floppy.
| And still maintained: http://menuetos.net/
| heavyset_go wrote:
| What's impressive about this is that it's entirely written in
| assembly, and has a full GUI and network support that fits on a
| single floppy.
| williesleg wrote:
| You mean Minix?
| redshirtrob wrote:
| As a sysadmin in the 90's it was considered malpractice to not
| have a copy of tomsrtbt[1] available at all times. The idea was,
| in a pinch, if you brick your internet gateway you'd have a
| chance of recovery by booting from tomsrtbt. It had just enough
| tools crammed onto the disk to fix configurations, fsck a disk,
| and rewrite the bootloader.
|
| [1] http://www.toms.net/rb/
| themadsens wrote:
| Nice write-up.
|
| Back in the day, there was also LOAF (Linux On A Floppy). [1]
|
| I had a go at it, until I realized someone beat me to the name.
|
| [1] https://linux-center.org/en/distributions/mini-
| distributions... (Only the index still remains)
| w84death wrote:
| Thanks!
| herewulf wrote:
| I downloaded LOAF and tried it on a 386 circa '98, not really
| knowing what Linux was. Sadly it didn't boot for some reason
| because I could have started my enlightenment about four years
| earlier. Instead I spent the late years of my adolescence
| struggling to make "terminal" apps with Microsoft compilers.
| GCC would have been really nice.
| purerandomness wrote:
| There is also Floppix, and their FAQ lists a few more [1]
|
| [1] https://www.floppix.com/faq.html
| themadsens wrote:
| Ah yes, tomsrtbt. I completely forgot about it. It even looks
| it's still going. Used to have that as a grub boot target,
| and it has saved my cheese more than once ..
| pdenton wrote:
| Funny how the website for this is over 4MiB.
| Zenst wrote:
| Funny, but does give deep meaning too the saying "A picture is
| worth a thousand words"; Or in this case - Three Operating
| Systems.
| swiley wrote:
| Does Linux still fit on a floppy? Last few times I tried I
| couldn't get the kernel below 1.7mb (without throwing out stuff
| like block devices.)
| heavyset_go wrote:
| OpenWRT needs to compile and run on devices with only 4MB of
| flash storage, and they have a guide for slimming down the
| kernel here: https://openwrt.org/docs/guide-user/additional-
| software/savi...
|
| I would be surprised if the resulting kernel is any bigger than
| a floppy disk.
| aae42 wrote:
| little known fact, Alpine linux was originally designed to run
| from floppy
| squarefoot wrote:
| Kudos to the creator! Fitting a bootable Linux on a single floppy
| was already doable some 20 years ago, my firewall back then was
| in fact floppyfw (0) running on a 486 board, but in the meantime
| the kernel grew a lot, despite being much more modular than old
| ones. Userland utilities and libraries also grew in size, so the
| accomplishment is not trivial. Thumbs up!
|
| 0: https://www.zelow.no/floppyfw/
| bombcar wrote:
| I saw this and said "eh, been done" - but that it's the latest
| kernel and busybox is surprising.
|
| This could be useful for other embedded systems - as 2MB of
| storage could be fit into ROM pretty easily.
| w84death wrote:
| Yeah, I just wanted to learn Linux. It worked as I learned a
| lot doing this project :)
| geocrasher wrote:
| I seem to remember a distro for turning an old PC into a router
| called "Coyote Linux". It fit on a 1.44mb 3.5" floppy. There was
| another too that I'm not remembering currently. I find it amazing
| what can be done with simple computers and advanced software.
| marcodiego wrote:
| This one doesn't includes GNU, but it is required for building
| it. I like the idea that knowing GNU/Linux like this allows for
| some makeshift tools to salvage or recover from situations that
| would be lost without it.
|
| Needs a server or router and all you have is an old computer with
| some NIC's? All you have is a pendrive and needs to recover some
| files from an unbootable machine? Do not have msword but can use
| gzip and grep and wants to extract text or images from a docx?
| Got an old computer without harddisk but working floppy drive and
| needs linux running on it? Need to send an SOS AM signal and all
| you have in an old CRT? A modern linux distro with a few dev
| packages and system tools is like a digital swiss army knife on
| these situations.
|
| Some of these scenarios are stretching the reality, but some are
| not. These skills are the modern IT equivalent to MacGyverisms.
| luke2m wrote:
| KolibriOS [1], an os with a GUI, networking, and a bunch of games
| is amazing. And it fits on a floppy. http://www.kolibrios.org/en/
| grioghar wrote:
| Ahhh, brings back memories of the LRP back in the day.
| the-dude wrote:
| Just because : _Don 't copy that floppy_
| https://en.wikipedia.org/wiki/Don%27t_Copy_That_Floppy
|
| Video : https://www.youtube.com/watch?v=up863eQKGUI
| yosito wrote:
| Can someone define the term "embedded" in this context? I had
| always assumed that "embedded" meant that the OS was written onto
| non-removable read-only storage. But I'm realizing that I don't
| actually know what the definition is.
| loa_in_ wrote:
| Embedded is any low resource, cost-efficient computer system
| designed with a specific class of tasks in mind, as opposed to
| general computing devices like mobile phones (which aren't
| embedded) or PCs or servers. On the other hand, mobile phones
| actually contain one or more embedded systems as their
| components. See, pinephone gsm modem documentation for example.
| w84death wrote:
| It is read only and will run one particular application in a
| kind of KIOSK mode. I'm using floppy just for fun.
| w84death wrote:
| I can't believe I see a link to my work on HN! :)
| [deleted]
| znpy wrote:
| iirc one of the first distros i tried to install was Coyote
| Linux, which also was a "floppy-distro" (it definitely was a
| thing).
|
| the reasoning was that I had an already old for the time 486dx
| and the floppydistro was the logical choice.
|
| of course starting using gnu/linux using a small floppydistro
| with no graphical tool and little help was a dumb idea lol.
| walrus01 wrote:
| Not exactly floppy sized, but this claims to be a 12MB total size
| desktop GUI linux:
|
| https://en.wikipedia.org/wiki/Tiny_Core_Linux
| compsciphd wrote:
| I built a linux on a floppy about 20 years ago, with a number of
| ethernet drivers built in (the common ones of the day, some 3com,
| tulip and a few others), X11 (tinyx with vesa fb, so close to
| universal support then, just not accelerated) with vnc and
| rdesktop. i.e. a thin client on a floppy.
|
| it was a demonstration on how one dynamically compile (for
| smallest binaries), but then "reassemble" libc to only include
| the symbols needed for the actual applications. I demonstrated
| doing this with uclibc which didnt need the help as much as well
| as glibc (which if my memory serves me correct was basically
| close to the size of the floppy by itself). if all the binaries
| were statically linked, they would have been too big (because of
| duplication of symbols between them), but by essentially
| stripping libc of unneeded symbols, was able to create an
| embedded system that worked perfectly.
|
| It might be a bit harder today for the same reason its hard to
| actually statically link glibc today. glibc at runtime can do
| dynamic loading itself, even if statically linked into the
| binary.
| a1369209993 wrote:
| > if all the binaries were statically linked, they would have
| been too big (because of duplication of symbols between them)
|
| Apropos of this, another solution I've seen (more of a dirty
| trick, but also greater space savings) is to build libc as a
| fixed chunk of page-aligned memory, and then de-duplicate the
| underlying disk sectors between different executable files.
| Works pretty well, assuming a read-only or cooperative
| filesystem.
| axiolite wrote:
| I'm disappointed there are no links to binaries/disk images to
| download. Building it all is overkill for the average reader to
| just try it out and see if it's at all useful.
| w84death wrote:
| I was thinking of publishing those. Not a problem. I will
| update the post in a moment.
|
| EDiT: done :)
| [deleted]
___________________________________________________________________
(page generated 2021-05-22 23:00 UTC)