Minimal Linux

This project grew out of a question: what is the absolute minimum set of components you need for a Linux system? As a target, I chose to aim for a Linux server that would be capable of running a web server serving static pages, connected via ethernet.

The answer turned out to be a pretty short list:

The goal here was the simplest possible system. Where there were multiple options, I tried to pick the simpler (e.g., favoring BusyBox over GNU fileutils).

None of these choices really limit the software you can run, at least for server-type applications. For example, it can run dynamic web apps; I've built lighttpd with fcgi support. (I haven't tried python yet.) I've also got Samba running on a similar server.

I'm building everything on a standard desktop Linux box, and because the target uses a different libc (and eventually I'd like to try this on ARM-based hardware, maybe RaspberryPi), I had to build a complete compiler toolchain. That required the following, all installed on the host, not the target:

I'm planning to add a bunch of stuff: