14 ms·
Tiny Core Linux
- splitbrain 9y agoI remember a time when stuff like this fit on a single 3.5 floppy.
- exikyut 9y agoXwoaf is still floating around out there. It was almost unusably minimal, though.
- thathappened 9y agoOpenwrt's pretty tiny imo
- lgierth 9y agoI've regularly fit OpenWrt into 3 MiB, including an HTTP server and web UI.
- c12 9y agoI sometimes like to boot up my old 386 into MS-DOS from a 3.5" floppy... I haven't done much research into it but I used to have a disk with linux on it that would boot fine. Can't seem to find anything today that would fit on one, but then again I haven't done much more than a cursory dig.
- EvanAnderson 9y agoThe Linux Router Project (https://en.wikipedia.org/wiki/Linux_Router_Project https://en.wikipedia.org/wiki/Linux_Router_Project) did that kind of thing in the late 90's and early 2000's. It's long-since dead, however. I doubt there's much of anything today, given the size of the kernel alone. I built a Linux floppy-based bootable disk imaging environment to roll out masses of Windows 95/98 machines back in 1997-1999. You'd compile a minimal kernel down to 600 - 800 KB then pack-up your userland in an itty-bitty gzipped filesystem archive and concatenate it with the kernel at an even sector boundary, dd the whole thing to a disk, and set some bits to tell the kernel where to load the initrd. I've never gone back to see how much of that functionality still exits in modern kernels. (Very little, I'd assume...)
- pjmlp 9y agoI used to have one 1.44MB with MS-DOS 3.3 trimmed to the minimum and Turbo Pascal.
- kokey 9y agoFreeBSD, where that one floppy was enough to set up a modem and dial up to establish a PPP session and then download the rest of the installation. All while allowing you to open another terminal to telnet to a shell somewhere else and pass the time with e-mail and irc while FreeBSD downloads and installs.
- ksec 9y agoIs there a Tiny Core Version for FreeBSD?
- petre 9y agoYes, it's called NanoBSD but you have to build it on a working FreeBSD system. No desktop though. https://www.freebsd.org/doc/en/articles/nanobsd/index.html https://www.freebsd.org/doc/en/articles/nanobsd/index.html
- rootbear 9y agoI think they missed an opportunity by not naming it WeeBSD. That's the hostname I gave my pi running FreeBSD.
- justherefortart 9y agoI remember 2 floppies. Never 1 for Linux+XWindows. Trinux was pretty slick back in the day.
- Zardoz84 9y agomuLinux can boot from a single floppy without X11. With X11 need 2 or 3 disks.
- pokstad 9y agoI remember when TCL was a scripting language.
- rkeene2 9y agoIt still is, there are hundreds of contributors and a new release (Tcl v8.6.8) came out 22-DEC-2017. There are plans for a new major release, Tcl 9, as well. Tcl still has many unique features that other languages lack. One new highly experimental feature is TclQuadCode, which can compile Tcl to machine code using LLVM. It's been in progress for over 5 years and it is amazing work. Compiling a dynamic language is a difficult task.
- eesmith 9y agoI believe it was a joke on the initials for "Tiny Core Linux". Look through the other comments and you'll see people using "TCL" to refer to this project, and not Tcl.
- PeCaN 9y agoRemember the QNX 4.25 demo disk that fit on a single 3.5 floppy and included a GUI, networking, a web browser (with basic javascript), clustering, and various other applications? What a great little OS.
- vram22 9y agoI had tried it out too. It was really fast, a lot more than the Linuxes I was using then - Red Hat and Mandrake. (Not comparable, I know.) I think they had a UI / desktop environment called Photon.
- jacquesm 9y agoThat 'really fast' bit that you perceived was your processor slicing 200K+ times / second versus maybe 2000 times/second under Linux or Windows. QNX is crazy fast in that respect simply because it has almost no context to switch. The soft-realtime aspect of the kernel also helps tremendously in keeping things moving, everything that is interactive runs at a high priority so you'll never see frozen mousepointers or stuff like that.
- vram22 9y agoInteresting and makes sense, thanks.
- insulanian 9y agoStill have it somewhere!
- PeCaN 9y agoI boot it up in virtualbox periodically and play with it. Setting up the clustering and dragging Photon windows between two VMs is really satisfying. I wish RIM/Blackberry hadn't bought it, closed the source¹, and killed off Photon. QNX was a really solid and fast OS. 1. For those who don't follow QNX development closely, the source was available for a few years but was not open in the usual sense. It was still under a proprietary license. RIM bought QNX and closed it off completely.
- michrassena 9y agoI remember my excitement using the QNX boot floppy. It was a full OS with a GUI, all from one 1.44MB disk. It had no PPP support, but fortunately it worked with Ethernet.
- michrassena 9y agoBut back on the subject of the post, I'm happy to see this project. I went searching a small Linux distribution a few months ago, and most of the projects I'd relied on the in the past seemed to have stopped development, like DSL, or Puppy.
- sevensor 9y agoTiny Core is the result of a DSL schism, if I remember right. Robert Shingledecker had been on the DSL team before starting Tiny Core.
- robin_reala 9y agoIt would still fit on an LS-120 3.5″ floppy, although I suspect they’re even harder to get hold of these days.
- beagle3 9y agoIt still does. http://kparc.com http://kparc.com - OS, GUI, database, boots on 64-but bare metal, still fit on a 3.5in floppy last time I looked.
- krylon 9y agoThese days, finding a machine with a floppy drive, let alone an actual floppy disk, might be harder than shrinking a system down enough to fit on a floppy disk. EDIT: Don't get me wrong, it is really cool people can build such tiny systems. But the smallest storage device in my household it a 2GB SD card. Outside of embedded devices and low-end routers, I do not see the point other than for hack value.
- itomato 9y agoA little more time, and Arduino-class devices will run a full GNU/Linux. IoT ain't seen nothin' yet.
- fpoling 9y agoFew months ago at work we used a 25 years old spectrometer. It got 5 inch floppy. Initially we considered to get a drive for it to get data from the spectrometer, but after few quick searches on eBay we realized that to get one that can be connected via USB was not so trivial or cheap or fast. Fortunately it turned out that spectrometer can send everything over serial port as long as the serial link has proper 12 volts voltage. So we got our data using true usb-to-serial dongle costing like 120$.
- IronWolve 9y agoI once created a windows floppy with winsock ini settings, irc, netscape, eudora and an ntp client, all pre-configured for an ISP I was working at. Users just had to put in their username and password, oh dialup isp days... The other floppy OS I tinkered around with was QNX, but it was just a demo of what QNX could do.
- anoother 9y agoYup. I remember Blender boasting for years about how it fit on a floppy.
- carapace 9y agoHas no one mentioned Tom's Root Boot yet? :-) > tomsrtbt (pronounced: Tom's Root Boot) is a very small Linux distribution. It is short for "Tom's floppy which has a root filesystem and is also bootable."[1] Its author, Tom Oehser, touts it as "The most GNU/Linux on one floppy disk", containing many common Linux command-line tools useful for system recovery (Linux and other operating systems.) It also features drivers for many types of hardware, and network connectivity. https://en.wikipedia.org/wiki/Tomsrtbt https://en.wikipedia.org/wiki/Tomsrtbt Also, Oberon fits on a 1.44M floppy. http://www.projectoberon.com/ http://www.projectoberon.com/
- deleted 9y ago[deleted]
- sprash 9y agoAn actual Linux distribution that fits on a floppy is still available here: http://asm.sourceforge.net/asmutils.html http://asm.sourceforge.net/asmutils.html
- sevensor 9y agoI recommend searching their forum if you're actually trying to use Tiny Core. It fills in a lot of gaps in their docs.
- steeve 9y agoTCL is really nice. boot2docker was based on it before they switched to Docker for Mac & Alpine.
- justincormack 9y agoWe switched to LinuxKit https://github.com/linuxkit/linuxkit https://github.com/linuxkit/linuxkit - it was very hard to maintain boot2docker and TCL and make them usable. LinuxKit is generally a little larger, as we use a bunch of Go code rather than C and Go is a little bloated, although that will improve no doubt. You can make very small LinuxKit images if you really want too.
- iod 9y agoI knew of TinyCore but I hadn't heard of dCore, which apprently has Debian/Ubuntu package support. According to http://wiki.tinycorelinux.net/dcore:welcome http://wiki.tinycorelinux.net/dcore:welcome "minimal live Linux system based on Micro Core (Tiny Core Linux) that uses scripts to download select packages directly from vast Debian or Ubuntu repositories and convert them into useable SCEs (self-contained extensions). "
- michrassena 9y agoIn spite of needing something like this a few weeks ago, I wonder what the role of such reduced distributions actually are these days. Storage is ridiculously cheap. A 64MB compact flash card doesn't cost significantly less than a 2GB card (32x the storage). I have a few old PCs sitting around, a Pentium 4D, a core duo or two. These are full-size PCs, old Dells and IBMs. It doesn't make much of a difference if they are running an 11MB distribution or a full Debian with GUI. What I'd really like is a small form factor PC with full x86 support so that I can run DOS, or other PC oses, like the BSDs or BEOS. Ideally it would be the size of a Raspberry PI and cost the same. I know such systems are available, but the cost is an issue. Emulation just isn't the same either.
- jandrese 9y agoOne thing that drives me nuts is how these embedded systems always want to use goddamn BusyBox instead of full fat Bash and userland. There's just enough stuff removed from BusyBox to break scripts and generally make life annoying. And for what, to save 20MB of space on your 16GB device?
- saagarjha 9y agoNot every embedded device has the luxury of 16 GB of storage.
- jandrese 9y agoThey're getting increasingly rare now that storage costs are so low. Why hobble something with an 8MB flash chip when a 1GB flash chip costs almost the same? Maybe you can shave some fractional pennies on not having to wire up so many address lines, but even that's marginal.
- saagarjha 9y ago> Why hobble something with an 8MB flash chip when a 1GB flash chip costs almost the same? Maybe you can shave some fractional pennies on not having to wire up so many address lines, but even that's marginal. If you're making a hundred million of them, the marginal gains add up. There's no point in adding stuff you don't need.
- vram22 9y agoFinnix was another good small Linux I had tried out some time earlier. Again, it is more for booting up and then maybe for doing some maintenance work than for regular use. https://en.wikipedia.org/wiki/Finnix https://en.wikipedia.org/wiki/Finnix https://www.finnix.org/ https://www.finnix.org/
- snowpanda 9y agoThis is so cool, what are some great uses for this?
- hartzell 9y ago[piCorePlayer](https://sites.google.com/site/picoreplayer/home https://sites.google.com/site/picoreplayer/home)!!!
- marttt 9y agoI use it to produce 50-minute radio shows for my country's public broadcasting. I work with a Thinkpad T42 from circa 2004. Swapped the PATA HDD for a Compact Flash card -- prior to this, everything was just surprisingly snappy thanks to Tiny Core Linux's RAM boot; now the machine is also wonderfully quiet. Granted, this is pushing it, but I've been using this setup every day for almost two years. (I just like to use old hardware until it dies -- or, is this what old IPS-screened Thinkpads generally turn people into?) Sure, you probably should be a "computational minimalist" by nature (e.g. there is an older version of Chromium, but I suppose your main browser will be Dillo -- which, actually, is just wonderful once you get used to it). But if you are a minimalist, I'd say it's a really solid system. Also, it's fun for me to think that I bought this Thinkpad T42 three years ago for €20. And now I use it as my main workhorse in a field where typical setups consist of new-ish MacBooks with high-end SSDs and an up to date version of Pro Tools. (And where people occasionally still think that "duh, you can probably only edit a text file in Linux".) So it's an awesome, clean, fairly easy to maintain distro (e.g. in case of a typical install you have a pristine system after every reboot). And the community is very friendly and responsive.
- exikyut 9y agoI'm also using a T43, circa 2006. Nowadays I've found myself mostly using it for VNC to a slightly better machine (my old desktop, on permanent loan to a family member after their laptop broke. This works...). And... even on my not-great 802.11g, and the CPU even locked to 800MHz, typing this text over TigerVNC is literally realtime with no perceptible lag or delay. I'm honestly amazed. But anyway... FWIW, launchpad.net have multiple sources providing the latest 32-bit builds of Chromium. These are built for Ubuntu, but I find they've worked 100% fine on Slackware. :P (After some work I even got the debugging symbols into the right place!) (Nothing stopping you from building the world's largest LD_PRELOAD to pull in "enough Ubuntu" that Chromium boots, but I find that 100% unnecessary at this point.) Some build daily(ish), some build fortnightly-to-monthly-ish. Before I set up VNC, I was in the process of figuring out an autoupdate script (CLI PHP, easily rewritten) that would find and fetch the packages off Launchpad. Let me know if you'd like a copy, I never finished it but I did do the Herculean bit of figuring out the magic API URLs, the rest is just boring scripting and downloading. Protip. If you open 100-170 tabs (possible! on 2GB! with The Great Suspender), the main process will hit 4G VIRT. xD Besides that, NetSurf is a bit better than Dillo, you're probably already aware of it.
- ComputerGuru 9y agoSliTaz was another great distribution, very feature complete and highly polished for its incredibly small size. Unfortunately - and you could see this coming a mile away - like so many other projects (open source or otherwise) they decided they’d “do a rewrite” and the project really lost its way and fizzled our thereafter.
- interfixus 9y agoIt was indeed. Saved my butt any number of times before it zombied out in the transition. When I workded in public IT, on a few occasions I booted Slitaz on troubled machines that idiot colleagues had battled with for hours or days, trying to install som Windows. In less than a minute, I had a working, webbrowsing desktop running entirely from RAM. Tellingly, nobody ever as much as asked a simple how? - somehow reminding me of the Australian aborigines simply ignoring the arrival of a UFO in the shape of captain Cook's ship.
- kup0 9y agoI notice there are apparently still rolling releases coming out for it? I've run the latest ones and for a quick and dirty live desktop from a super small image, it still seems to be a good option. I tried looking around for what happened to SliTaz, is there an article/detail anywhere on that (the transition/rewrite/zombification)?
- skrowl 9y agoI'd love to see this type of distribution on Windows Subsystem for Linux. The default Ubuntu is over 500MB!
- thomastjeffery 9y agoThere is some work for Archlinux and NixOS on WSL.
- limeblack 9y agoI actually ran TCL in virtual machine and SSHed into it like this back when node.js only ran on linux well.
- Karrot_Kream 9y agoJudging by the comments, it seems like people haven't realized yet that the distribution is precisely this small so the entire thing can run in RAM. TinyCore wants to be super fast, so they try and got everything in RAM.
- woliveirajr 9y agoAt 11MB, it could be located inside the L3 cache on some processors [0] :) [0]: https://en.wikipedia.org/wiki/Haswell_%28microarchitecture%29 https://en.wikipedia.org/wiki/Haswell_%28microarchitecture%2...
- ReverseCold 9y agoIs that something that might be doable/useful? Or just a size comparison?
- trisimix 9y agoAnythings doable. But you probably need the space for the processor. Itd be hella fast though
- nickwanninger 9y agoDo you have to do anything special to load it all into the cache or is that just something that would happen by default?
- eliben 9y agoOn disk size != memory footprint though. It may occupy 11MB as a binary but allocate way more than that at runtime. [nitpicking, of course :)]
- feelin_googley 9y agoSome people perhaps are missing this. Others surely understand. Personally, I have been running my computers this way for many years now. I do not use Linux kernel, but like "tinycore" everything fits in RAM. Size range is usually about 13-17MB for x86. The USB stick or other boot media with the kernel+bootloader can be removed after boot. Depending on how much free RAM I have to spare, I can overlay larger userlands on top of this, and chroot into them. With todays RAM sizes, I can hold an entire "default base" (BSD) in memory if desired. This filesystem on the media is not merely an "install" image. It has everything I need to do work, including custom applications. If I want distributions sets I download them; they are not stored on the media. In normal use, I do not use any disk. Therefore I do not use a swap file. Recently on HN a discussion of sorting came up, and I mentioned the issue of sorting large datasets using only RAM, no disk. Obviously BSD and other UNIX-like kernels date back to a time of severely constrained memory and are designed around space-saving concepts like "virtual memory" and "swap", "shared libraries", etc. When one runs from RAM with no disk, working with large files means "thrashing" is a real possibility. Aside: Did the architects of virtual memory contemplate a world where users are doing work without using HDDs or other writeable permanent storage. (Start a new thread if want to answer/debate this.) Sorting large files is something I do regularly so I am always open to new ideas. Currently I use k/kdb+ for large files instead of UNIX sort. Here's the reply I got: https://news.ycombinator.com/item?id=16086791 https://news.ycombinator.com/item?id=16086791
- trendia 9y agoI'd also look into Buildroot [0]. I'm currently using Buildroot for a project and the whole distribution (including libraries and executables) is under 40MB. Since I am using a fixed dev board (i.e. peripherals are not going to change), I used lsmod to detect which drivers are needed and only build those, which really shrinks the kernel. Buildroot also includes a cross compiler, so that you can rebuild the entire toolchain, kernel, and libraries in one go. [0] https://github.com/buildroot/buildroot https://github.com/buildroot/buildroot
- OrangeTux 9y agoBuildroot is great! I'm using it to build distributions for several pieces of embedded hardware. But I think Buildroot targets different hardware than Tiny Core. Buildroot targets embedded systems. It therefore lacks a package manager. Tiny core seems to target bigger systems, like notebooks, servers and desktops.
- devonkim 9y agoI was under the impression that if you really want to optimize for space that you should avoid kernel module overhead entirely and build in your modules statically. Maybe it only saves a few bytes and a couple clock cycles at load time but it sounds like it’s worth a try for you.
- trendia 9y agoOh sorry, I wasn't clear about that. I run it first where every possible module is built 'M', and then once the system boots up, run lsmod to see which modules are loaded. Then, I take that list of modules and set them to "Y", and disable everything else. That way, needed libraries are statically linked and unneeded libraries aren't built at all.
- mankash666 9y agoPoint to note: many Alpine Linux base docker images are in the 6MB ballpark. What's tiny core's advantage over Alpine? Given the outsized interest in Alpine from the docker community, it may have better packages and security updates
- limeblack 9y agoMy favorite thing to do with TCL is to create a live distro[1] that boots of off usb/cd and eject[2] the device it boots off of entirely while the OS is still running. I would do this in libraries/cafes all the time. No device plugged into the computer but running a different OS. [1] http://forum.tinycorelinux.net/index.php?topic=8924.0 http://forum.tinycorelinux.net/index.php?topic=8924.0 [2] http://forum.tinycorelinux.net/index.php/topic,8522.0.html http://forum.tinycorelinux.net/index.php/topic,8522.0.html
- eat_veggies 9y agoOoh, that sounds really handy! I've been using Arch with ramroot[0] on my USB for this purpose, although it takes a minute or two to transfer everything to RAM. [0] https://github.com/arcmags/ramroot https://github.com/arcmags/ramroot
- thomastjeffery 9y agoBack when I was in High School, I would boot a floppy with UnetBootin (the BIOS did not support USB boot), and boot a flash drive with TinyCore, then put the floppy and flash drive back in my pocket. I would end up with a working browser before anyone else was able to login to Windows XP, and my computer wouldn't freeze, crash, etc.
- gbraad 9y agotomsrtbt
- deleted 9y ago[deleted]
- andrewstuart 9y agoI built something to boot Tiny Core Linux (and other Run-From-RAM OS's) on Amazon, Digital Ocean or Google Compute Engine - http://www.bootrino.com http://www.bootrino.com
- deleted 9y ago[deleted]