Know

Comparing Linux 2.4 and Linux 2.6 Kernels:

Many customers ask for support of Linux Kernel
version 2.6 for their embedded projects.
This is easy enough to understand: after all, 2.6 is the latest
and greatest version of the Linux kernel, and who wants
to base a new project on old stuff?
They are surprised when we tell them that we don't recommend to use
Linux 2.6 for most embedded systems.

Here is a comparison of 2.4 and 2.6 on real embedded hardware
that explains why:

Build and Test Environment, Kernel Versions and Test Hardware:

The ELDK 3.1 toolchain was used to build the Linux kernels and
to provide the necessary test environment (NFS root filesystem, ramdisk images).

The following versions of the Linux Kernel were used in the tests:

Kernel Version 2.4.25 from CVS server at www.denx.de,
snapshot of 2005-04-23-00:00

The slight advantage for the 2.6 when booting
is at least partially due to the fact
that the configurations were slightly different:
in 2.4, the SCSI driver was enabled,
which was not the case in 2.6

Running with ramdisk based root file system:

The systems were booted using the ramdisk images provided by the ELDK.
The main purpose was to find out how much memory remained free for application code. A simple memory allocator (mem_eat.c)
was used to test for free (= allocateable by an application process) memory.