Hacker News new | past | comments | ask | show | jobs | submit login
Tiny Core offers a complete Linux solution in 11MB (geek.com)
58 points by thomas on Oct 7, 2010 | hide | past | favorite | 25 comments



Strangely, while mentioning Damn Small Linux, geek.com doesn't mention that it's the same person, Robert Shingledecker, behind it and Tiny Core. Apparently, there's been some drama involved (http://www.shingledecker.org/andrews.html) and Shingledecker had to leave Damn Small Linux to stagnation, while Tiny Core is reincarnation of his ideas on a new level.


What's the smallest conceivable reliable distro I can host Rails (or, better, JRuby/Rails) on? Getting it up and running on Tiny Core seems like a Project.


I think it quite might be Tiny Core Linux. Tiny Core is meant to be not just smallest possible distro for its own sake, (an a lot work has gone into this), but the smallest possible core on top of which all the necessary functionality should be mounted.


You'll need a C library, a small handful of C libraries, a web-server and the Linux kernel. SSH would be good, possibly git as well depending on the way you deploy. Ignoring any need for a GUI, I think you could get a rather small system.


If you were going to compile it yourself, it's just missing M4, autoconf, automake and OpenSSL. Otherwise you can use it's Appbrowser (ab in micro, the CLI version) to install Ruby in about five minutes.


Quite true. I suppose in my post I really was assuming starting off from brass tacks, cross compiling from a larger system. You are, of course, correct: if the system must be able to bootstrap itself a more expansive base is needed.

I also neglected to mention any sort of shell. Dash, I believe, is POSIX compliant and rather tiny.


Probably Arch. You can build really small images with Gentoo, Slackware, etc. but Arch is probably the simplest for you to manage.

TinyCore looks cool but not like something I would want to maintain as a server.


Depending on your disk space requirements and how comfortable you are with building your own distro, you might have an easier time starting with a more full-fledged Live CD and stripping it down rather than starting with something stripped and building it up. It's fairly easy to remaster a Knoppix or even Ubuntu live disc by removing packages you don't need. If you search for "Knoppix remastering," you'll even find quite a few community remastered cds which you could potentially start from.


Slitaz <http://www.slitaz.org/en/>; is also well worth taking a look at.


Is your time so lacking in value that you'll expend a substantial amount of time rolling and maintaining a custom distro of Linux that'll save maybe 50-150 megabytes of RAM? Are you in the web hosting business or something?


I have a Rails app I want to distribute as a VM to each member of my team. What's the best option that's just 50 megs bigger than Tiny Core?


Sounds like you're distributing a web app like a desktop app. Maybe it would have been better off as a desktop app in the first place?


I was speaking in RAM, not the disk-space of a VM. I didn't know the context of what you were looking for.

Is there some reason you can't accomplish this using RVM and a dev database? Any specific software that makes you think it isn't practical to do so?

Virtualization seems a little heavy duty given the options for sandboxing python and ruby apps these days.

Edit: You really really don't want to cope with the raw horror and pain of a minimalist kernel that doesn't provide any of the things you usually take for granted.


Everyone on our team carries a Macbook; I need "click this to start the app up" levels of simplicity, or nobody will use it.

I wasn't reading you carefully enough before; I don't care at all about RAM size. I care how big the distro is to download.


You could look into how Instiki (http://www.instiki.org/show/HomePage) packages itself?

It provides a Mac OS X app that includes all of its dependencies in the app - including Rails.

If you're patient, eventually MacRuby will support Rails and can generate compiled .app bundles. But if you need it NOW, I'd look into how Instiki works.


Joyent came out with such a product in 2007, called Slingshot. I remember it being quite slow (…for what was supposed to be a desktop app), but functional.

http://joyeur.com/2007/03/22/joyent-slingshot/


>Everyone on our team carries a Macbook

I work on a macbook too.

> I need "click this to start the app up" levels of simplicity, or nobody will use it.

Is that a political issue or have there been questionable hiring decisions by someone?

When I'm talking about gift-wrapping it with RVM, literally all they'll have to run is a well-made shell script to fire it up.

http://macosx.com/forums/howto-faqs/41816-howto-open-termina...

Should do the trick, although you'll want to test it in Finder yourself.

I can't come up with anything easier than double-clicking on a shell script.


This ignores Ruby Dependency Hell, which is why I'd want to use VMs in the first place.


RVM exists specifically to solve ruby dependency hell. Have you ever made a sandboxed app with it before?


this is really the right answer, as it is the exact solution given what tools are available for solving the problem of managing development. but what is the difference between the startup time in this video, and the start up time of an ide?

i can see a developer workflow where you start up the vm, create your example function or class of what you are solving, close the vm, and let some script find the new file, check everything in, etc...

i don't feel it would be much different than having a standard install of an ide for a group of devs, but in this instance you could have all the customization of an entire OS, plus creating a single app that people can throw away and start from square one, or even check in the whole OS install as a version?

i agree this is a lot of overhead, but i think it is okay someone is exploring this, i feel it is very interesting, and a pattern of abstraction we should consider more. this is how i see the small EC2 images i've been playing with.


>video

What are you talking about?

> i think it is okay someone is exploring this

Not on the job, do it at home.

> i feel it is very interesting

What is? I'm having a really hard time understanding you.

>a pattern of abstraction

What pattern, what abstraction? An abstraction is a distinct singular entity, a pattern is multiple related datum with a a correlation in form or substance.


1. video - there is a video in the original post 2. job - i have to explore on the job all the time, i don't have the stuff at home 3. creating a vm for making dev environments, what i was thinking this part of the thread is about 4. abstracting away the entire os setup and seeing that combination of os+app as just an app, i would consider that an abstraction, and not just a pattern, but the pattern being trying to think along these things of what can be abstracted in this way. not trying to combine or confuse the terms.


> save maybe 50-150 megabytes

I think my typical server setup idles at 30~40mb of ram before I add services.

At the moment with nginx (with passenger, no active rails processes), cloudkick-agent, a fat irssi and some php-fastcgi workers I'm only using 122mb of ram. I don't know how much ram you really have to shave off.


More or less my point. the ~150 additional megabytes was if they were deploying with Ubuntu + some kind of java server management software (worst case scenario for a base deployment template?)


Tiny Core is also a nice small, and therefore fast to download, payload for a network-booted system with gPXE:

http://www.etherboot.org/wiki/appnotes/tinycore




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: