9 ms·
789 KB Linux Without MMU on RISC-V
- RetroTechie 3y agoNotions of what's "tiny" or "lightweight" have clearly shifted... :-( Interesting & informative article though.
- helf 3y agoDefinitely has. I sed to love playing with single and double floppy OSes. Im sure you have seen the old qnx4 demo floppy? Full gui, browser, etc. http://toastytech.com/guis/qnxdemo.html http://toastytech.com/guis/qnxdemo.html
- wiredfool 3y agoI remember Linux on a floppy in the 2.4 era. You generally needed to do some interesting formatting to the disks to get much of a user land, but you could have a router running from floppy/ram in 1.4->1.7 mb of disk.
- squarefoot 3y agoWas it floppyfw? (0) I used it as firewall ages ago, and if memory serves was the one I moved to a DiskOnModule flash drive to make boot faster and more reliable. 0 - https://www.zelow.no/floppyfw/ https://www.zelow.no/floppyfw/
- RetroTechie 3y agoIn the late 90's I lived in a house with +/- 10 others (mostly students). Internet was shared using Windows ICS (ugh!) on someone's PC, which was also used for that guys' regular work. Which included playing Diablo & such. Obviously a lousy setup. And of course internet (for the rest o/t house) was often down as a result. At some point people got fed up. And (having some Linux experience at the time) I knew where to look. Put together and old Pentium PC with 2 network cards, no hdd, and in went a floppy called FreeSCO. After fiddling with the software's power management settings, I put the CPU on passive cooling. Shoved the box in a corner & never looked back - rock solid. Uptime usually limited by power failures or ISP messing with configuration of their systems. Indeed: Linux 2.0~2.4 days.
- actionfromafar 3y agoFreesco! I'd forgotten about it completely. It was user friendly, menu driven.
- eep_social 3y agoWebsite is still up with a 2007 copyright and a 2.0.39 kernel on offer.
- jojobas 3y agoOld Pentium in the 90s!? What were you, a billionaire?
- freeopinion 3y agoIn 1998, an old Pentium might have been four or five years old and cast off.
- jojobas 3y agoFirst Pentium II was released in the middle of 1997. By 1997 the first Pentiums were some 4x outclocked by later Pentiums, but probably not more than 2x slower in real world applications, by no means an obsolete machine. My ~1996 P75 lasted me till about 2002, fun times.
- freeopinion 3y agoExactly. So the idea of reusing an old Pentium as a cheap router in the late 90s is plausible.
- jojobas 3y agoThe entire machine would be still worth hundreds of dollars! Hundreds!
- helf 3y ago[dead]
- snvzz 3y agoI remember muLinux from circa 1997. Surprisingly, the website is still up[0]. IIRC it was a couple floppies, with an extra one for X11. It ran w/o issue on 486. 0. http://micheleandreoli.org/public/Software/mulinux/ http://micheleandreoli.org/public/Software/mulinux/
- littlecranky67 3y agoYes, I used this "fli4l" distro from a single, bootable 1.44MB floppy as a Ethernet/DSL NAT gateway in the early 2000s. Consumergrade DSL routers where unheard of (or expensive) so using an old 486 machine with two NICs was more viable. Good memories.
- FreeFull 3y agohttps://pupngo.dk/xwinflpy/xwoaf_rebuild.html https://pupngo.dk/xwinflpy/xwoaf_rebuild.html Check this out, it's a single-floppy linux that includes X11 (!) and a bunch of utilities
- IshKebab 3y agoI guess you can add isolation using PMP? I can't see any reason why ELFs wouldn't work, except that they are obviously normally built with virtual memory in mind. Great tutorial anyway, thanks!
- ilyt 3y agoI remember full kernel with modules for hardware compiled in was less than that in 2.2.x kernel times. All else considered the growth isn't much
- KirillPanov 3y agoThis is unreadable. Please, either indent your paragraphs or else put more space between paragraphs than between lines which are part of the same paragraph. One or the other, or even both. If you do neither it is illegible.
- Dylan16807 3y agoI see an extra 20 pixels (specifically 1.25em) between paragraphs. You don't?
- tomcam 3y agoUnreadable? Or perhaps just not to your liking?
- Medox 3y agoVery interesting! Reminds me of uClinux for the PSP [1] Offtopic regarding the PSP version mentioned above: while doing some quick research right now (remembering that my PSP still works, as tested a couple of weeks ago), I sh*t you not, google gave me my own post from 2010. Right in the nostalgia. [1] https://psplinux.info/tag/uclinux/ https://psplinux.info/tag/uclinux/ [2] https://www.vogons.org/viewtopic.php?t=25416 https://www.vogons.org/viewtopic.php?t=25416
- carstenhag 3y agoI think this is something us nerds who contribute on niche topics will always find at some point. Amazing!
- lxe 3y agouClinux has been my bread and butter back in 2010-2012 when I was running it on a mmu-less micro pfga core for an embedded industrial device. I think I brought it down way below the 789kb, at least the bzimage. I think I was using buildroot to configure and build the kernel and busybox for all the runtime things. I had to host a dynamic web UI on it, for which I built a custom lua "framework". Lua runtime was a 100k-something static binary that worked like a charm, and very very fast.
- vitiral 3y agoThis is cool, but it makes me kind of sad how so much time must be devoted to the build setup and understanding the only available (and poorly documented) executable format. Love the content though.
- londons_explore 3y ago> The uClinux effort, per my understanding, was running independently for some time, before the decision has been made to mainline it, meaning it is now part of the Linux source code itself. Basically, what this means for us is that uClinux is now a set of configurations in the kernel build config, and we’ll get our MMU-less build easily. Wow! How much of a regular desktop PC userland could I run entirely with a flat shared address space?
- ngcc_hk 3y agoQuite interesting. But given it run in qemu I wonder why not develop his https://popovicu.com/posts/making-a-micro-linux-distro/into https://popovicu.com/posts/making-a-micro-linux-distro/into a more general one and then hightlight this variation in a short article on the difference.
- reanimus 3y ago> I personally found it very difficult to find any good documentation on what this file format really looks like, and really the only useful page I have found on the Internet around it is this page from someone’s personal blog. It’s a bit interesting to think that if this blog goes offline, there really isn’t anything out there left except the actual source code in the Linux codebase, and I’m sure you agree that’s not the most elegant way to learn. A bit of googling around was able to shore up a bit more information on the bFLT format: 1. The source of the text on the page linked: https://web.archive.org/web/20120301074213/https://retired.beyondlogic.org/uClinux/bflt.htm https://web.archive.org/web/20120301074213/https://retired.b... 2. Notes from someone looking to implement a bFLT loader for homebrew: https://blog.tangrs.id.au/2012/04/07/bflt-format-implementation-notes/ https://blog.tangrs.id.au/2012/04/07/bflt-format-implementat...
- eternityforest 3y agoI thought ucLinux was dead, I had no idea it was mainlined. Does this mean we can finally have app-capable IoT devices, which for some reason are very uncommon even though it would be rather useful?
- MrBuddyCasino 3y agoHas anyone managed to make this work on the inevitable ESP32 (+PSRAM)? This might actually be useful.