
Tiny Core Linux - chirau
http://www.tinycorelinux.net/welcome.html
======
limeblack
My 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)

~~~
thomastjeffery
Back 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.

------
Karrot_Kream
Judging 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
At 11MB, it could be located inside the L3 cache on some processors [0] :)

[0]:
[https://en.wikipedia.org/wiki/Haswell_%28microarchitecture%2...](https://en.wikipedia.org/wiki/Haswell_%28microarchitecture%29)

~~~
ReverseCold
Is that something that might be doable/useful? Or just a size comparison?

~~~
trisimix
Anythings doable. But you probably need the space for the processor. Itd be
hella fast though

~~~
nickwanninger
Do you have to do anything special to load it all into the cache or is that
just something that would happen by default?

------
iod
I 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). "

------
trendia
I'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)

~~~
devonkim
I 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
Oh 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.

------
ComputerGuru
SliTaz 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.

~~~
kup0
I 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)?

------
splitbrain
I remember a time when stuff like this fit on a single 3.5 floppy.

~~~
PeCaN
Remember 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.

~~~
rootbear
I really wish that there was still a free version of QNX around. I enjoyed
playing with it.

~~~
jacquesm
I am sorely tempted to push my own little OS for another round but just
porting the whole thing from 32 bit to 64 bit has me depressed. It should be a
lot easier than the first time around though, now that we have VMs to test
with, that is a lot faster turnaround wise than to have to reboot a physical
machine every time you mess up in kernel code or some critical device process.

------
vram22
Finnix 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/)

------
sevensor
I recommend searching their forum if you're actually trying to use Tiny Core.
It fills in a lot of gaps in their docs.

------
andrewstuart
I 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)

------
skrowl
I'd love to see this type of distribution on Windows Subsystem for Linux. The
default Ubuntu is over 500MB!

~~~
limeblack
I actually ran TCL in virtual machine and SSHed into it like this back when
node.js only ran on linux well.

------
snowpanda
This is so cool, what are some great uses for this?

~~~
marttt
I 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
I'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.

------
steeve
TCL is really nice. boot2docker was based on it before they switched to Docker
for Mac & Alpine.

~~~
justincormack
We 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.

------
gbraad
tomsrtbt

------
mankash666
Point 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

~~~
Siecje
Correct me if I'm wrong but a docker image doesn't include a kernel.

~~~
ffk
You are correct, docker images don't generally contain kernels (and if they
do, they don't load them).

A more apt comparison would be vs alpine standard which is 109 MB and contains
a kernel.

------
michrassena
In 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
One 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
Not every embedded device has the luxury of 16 GB of storage.

~~~
jandrese
They'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
> 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.

