About Linux-Tiny
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.
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.
Current highlights
Many features from Linux-tiny have already been integrated into the 2.6 mainline kernel. Some of the features that remain include:
- configurable 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
- a tool for counting uses of inline functions
- a tool for comparing function sizes between kernel builds
- kgdb for full symbolic kernel debugging
- kgdb-over-ethernet for debugging without serial ports
Maintainer
Matt Mackall was the project initiator, and longtime maintainer for the patchset.
Michael Opdenacker became the maintainer in August of 2007.
Contributing
Code contributions and suggestions encouraged, write to linux-tiny at selenic.com. I would prefer that all new features be configurable in Kconfig and be relatively non-intrusive if possible.
Hints
Links
Embedded Linux Wiki Linux-tiny page
- This page has patchsets for the most recent kernels (2.6.21 and beyond), status pages, and other information
Downloads and release announcements
Mercurial repository of -tiny patches
Paper and slides on Linux-tiny from 2004 Ottawa Linux Symposium
Ketchup tool for downloading kernel versions