The tiny tree is a series of patches against the 2.6 mainline Linux kernel to reduce its memory and disk footprint, as well as to add features to aid working on small systems. Target users are developers of embedded system and users of small or legacy machines such as 386s and handhelds.

At this writing (Mar '04), the -tiny tree contains over 150 patches, almost all of which are configurable. Some highlights include:

* configurable removal of printk, BUG, panic(), etc.
* configurable HZ, swap partition, IDE interfaces, line disciplines...
* SLOB: a simple and space-efficient replacement for the SLAB allocator
* optional support for aio, sysfs, sysenter, ptrace, dnotify, vm86, core dumps
* /proc/kmalloc for detailed tracking of memory usage
* choice between 4k or 8k kernel stacks
* a tool for finding largest stack users
* a tool for counting uses of inline functions
* a tool for comparing function sizes between kernel builds
* netconsole for logging kernel messages via network
* kgdb for full symbolic kernel debugging
* kgdb-over-ethernet for debugging without serial ports

Just about all features are option via the kernel configuration system and are available as separate patches. Linux-tiny by default will build a kernel practically identical to mainline, but custom configurations with full console, disk, and network support can be booted on standard hardware with as little as 2MB of RAM.
For sharing info