The goal of the linux-tiny project is to reduce the memory and disk footprint of the mainstream Linux kernel, 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 handheld devices.
Patch releases against the mainstream Linux kernel have been discontinued. Instead of spending a valuable amount of time carrying patches forward from one kernel version to the next, we chose to focus on a few patches and spend our time trying to get them merged into the mainline kernel.
Visit the FAQ for more information.
New project home page (as of 2011) : http://tinylab.org/index.php/projects/tinylinux/
New git archive for patches (as of 2011)
New discussion group:
- tinylab [at] googlegroups [dot] com
- Subscribe by sending an empty email to tinylab+subscribe [at] googlegroups. com
- Project mailing list: Mailing List, archives
- Kernel Size Report presentation by Matt Mackall at Embedded Linux Conference in April 2008. Video is available.
- Linux-tiny presentation by Thomas Petazzoni (Free Electrons) at Embedded Linux Conference in April 2008. Video is available.
- Linux-tiny presentation by Michael Opdenacker (Free Electrons) at Embedded Linux Conference Europe in November 2007.
- http://elinux.org/images//8/83/Pdf.gif Linux-tiny revival presentation given by Tim Bird at the Japan Technical Jamboree #16 in August 2007
- Linux-tiny Presentation by Matt Mackall, delivered at CELF's Technical Conference in April 2005.
- A LWN.net article is at: LWN Article (Sep 2007), By Jake Edge
- Michael Opdenacker was announced as the new maintainer.
- A Linux Weekly News article (2003) about the project is at: LWN Article
Old patch releases
Old release downloads
- Linux 18.104.22.168:
- Linux 22.214.171.124:
- Linux 126.96.36.199:
- Linux 188.8.131.52
- Linux 2.6.0 to 2.6.14:
- Older Linux-tiny patchsets can be downloaded from: Linux Tiny Patchset
These instructions were for the Linux-tiny release for 2.6.23. Adjust accordingly for a different kernel version.
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2 $ tar -xjf linux-2.6.23.tar.bz2 $ wget http://elinux.org/images/3/3c/Tiny-quilt-2.6.23-0.tar.bz2 $ cd linux-2.6.23 $ tar -xjf ../Tiny-quilt-2.6.23-0.tar.bz2 $ quilt push -a $ cd .. $ mv linux-2.6.23 linux-2.6.23-tiny1
Auxiliary tools (for Linux-tiny developers)
Here is a short shell script for making a tiny-quilt release: Media:release-tiny
How to use
In the Kernel Size Tuning Guide, there is a lot of information about how to measure kernel size, and how to use the kernel patches and configuration items provided by Linux-tiny.
Test Project and Results
There is a test for Linux-tiny (and kernel configuration option results, in general). Some test results from this test were previously available from the CE Linux Forum test lab, at: http://testlab.celinuxforum.org/otlwiki/ConfigSizeTestResults (link is now broken).
The CELF System Size working group has worked extensively with the Linux-tiny patch set. There is a script to produce a report of size reductions for the individual patches in the patchset, and results from various vendors about their use of Linux-tiny. See Linux Tiny Test Project
Old usage notes
There are some miscellaneous usage notes at: Linux Tiny Notes
Ideas and patch candidates
Original Announcements and e-mail
The original (Dec 11, 2003) announcement about the patchset, to the kernel mailing list, is available here:
Here are some other announcements from Matt Mackall to LKML:
Note that currently, the smallest kernel that is reported in this thread is 197K compressed.