The linux-tiny patchset 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.
- Project home page: Linux Tiny
- Project mailing list: Mailing List
- A Linux Weekly News article about the project is at: LWN Article
- - Linux-tiny Presentation by Matt Mackall, delivered at CELF's Technical Conference in 2005.
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.
Last release (for 184.108.40.206)
A recent Linux-tiny patchset release is available here: Media:Tiny-quilt-220.127.116.11-1.tar.gz
These instructions were for the Linux-tiny release for 18.104.22.168. Adjust accordingly for a different kernel version.
To apply the above patches, you need the referenced kernel (2.6.22) and quilt. Follow these steps:
- wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2
- tar -xjf linux-2.6.22.tar.bz2
- wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-22.214.171.124.bz2
- wget http://elinux.org/images/7/79/Tiny-quilt-126.96.36.199-1.tar.gz
- cd linux-2.6.22
- bzcat ../patch-188.8.131.52.bz2 | patch -p1
- tar -xzf ../Tiny-quilt-2.6.22-5-1.tar.gz
- quilt push -a
- cd ..
- mv linux-2.6.22 linux-184.108.40.206-tiny1
Here is a short shell script for making a tiny-quilt release: Media:release-tiny
- Linux 220.127.116.11:
- Linux 18.104.22.168
- Linux 2.6.0 to 2.6.14:
- Older Linux-tiny patchsets can be downloaded from: Linux Tiny Patchset
Test Project and Results
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
There are some miscellaneous usage notes at: Linux Tiny Notes