Difference between revisions of "Linux Tiny"

From eLinux.org
Jump to: navigation, search
m (News: Removed unnessary line)
(Installation Instructions: update instructions)
Line 27: Line 27:
  
 
=== Installation Instructions ===
 
=== Installation Instructions ===
These instructions were for the Linux-tiny release for 2.6.22.5.  Adjust accordingly
+
These instructions were for the Linux-tiny release for 2.6.23.  Adjust accordingly
 
for a different kernel version.
 
for a different kernel version.
  
To apply the above patches, you need the referenced kernel (2.6.22)
+
To apply the above patches, you need the referenced kernel (2.6.23)
 
and [http://savannah.nongnu.org/projects/quilt quilt]
 
and [http://savannah.nongnu.org/projects/quilt quilt]
 
([http://www.suse.de/~agruen/quilt.pdf overview]).
 
([http://www.suse.de/~agruen/quilt.pdf overview]).
 
Follow these steps:
 
Follow these steps:
* wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.22.tar.bz2
+
<pre>
* tar -xjf linux-2.6.22.tar.bz2
+
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.23.tar.bz2
* wget http://www.kernel.org/pub/linux/kernel/v2.6/patch-2.6.22.5.bz2
+
$ tar -xjf linux-2.6.23.tar.bz2
* wget http://elinux.org/images/7/79/Tiny-quilt-2.6.22.5-1.tar.gz
+
$ wget http://elinux.org/images/3/3c/Tiny-quilt-2.6.23-0.tar.bz2
* cd linux-2.6.22
+
$ cd linux-2.6.23
* bzcat ../patch-2.6.22.5.bz2 | patch -p1
+
$ tar -xjf ../Tiny-quilt-2.6.23-0.tar.bz2
* tar -xzf ../Tiny-quilt-2.6.22-5-1.tar.gz
+
$ quilt push -a
* quilt push -a
+
$ cd ..
* cd ..
+
$ mv linux-2.6.23 linux-2.6.23-tiny1
* mv linux-2.6.22 linux-2.6.22.5-tiny1
+
</pre>
  
 
=== Auxiliary tools ===
 
=== Auxiliary tools ===

Revision as of 12:37, 23 October 2007

Introduction

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.

To the degree possible, the patchset should serve as a staging ground for patches, until they can be mainlined. Therefore, over time the set of patches will fluctuate as new patches are submitted, and other patches are mainlined.

Resources

News

Download

Last release (for 2.6.23)

A recent Linux-tiny patchset release is available here: Media:Tiny-quilt-2.6.23-0.tar.bz2

See Linux Tiny Patch Details for information about the status of individual sub-patches.

Installation Instructions

These instructions were for the Linux-tiny release for 2.6.23. Adjust accordingly for a different kernel version.

To apply the above patches, you need the referenced kernel (2.6.23) and quilt (overview). Follow these steps:

 $ 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

Here is a short shell script for making a tiny-quilt release: Media:release-tiny

Older releases

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 an test for Linux-tiny (and kernel configuration option results, in general). Some test results from this test are available from the CE Linux Forum test lab, at: http://testlab.celinuxforum.org/otlwiki/ConfigSizeTestResults

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

See Linux Tiny Patch Ideas

License

The Linux-tiny patches apply against the Linux kernel, and are provided under the GNU General Public License (GPL), version 2 only [1]. (This is the same license as the Linux kernel.)

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:

Recent discussion thread on lkml is summarized at: LKML Thread Summary. The thread is available at here.

Note that currently, the smallest kernel that is reported in this thread is 197K compressed.