The following tool chains / software development environments have also been evaluated
for usability and use instead of the ELDK (listed in alphabetical order):
- buildroot:
- http://buildroot.uclibc.org/
- Generates uClibc based cross tool chain (but can be used with
existing glibc, eglibc or uClibc cross tool chains)
- Issues with versioning: a rebuild of an existing configuration
may download new versions or patches, so build results may
never be the same
- impossible to use different patches,
files for different architectures, machines or
distributions
- Debian:
- "Standard" Debian or Emdebian ?
- Standard Debian is a full-scale Linux distribution targeting
non-embedded systems (PC, notebooks, servers, etc.)
- Pros:
- Built natively
- Actively supported.
- More than 20,000 packages are available.
- Cons:
- Packages are configured for non-embedded computer
needs; their default configurations are generally too
"fat" for the embedded use. Reducing the size of the
distribution, whether at a package level or as a whole,
would require some effort, perhaps substantial.
- Emdebian is a subset of the standard Debian distribution,
built from the same source base. It is available in different
variants:
- Emdebian "Grip":
Emdebian "Grip" is a subset of ~2,000 packages from the
standard Debian distribution, which are not rebuilt
but only repackaged to reduce the package size (for
instance, drop documentation, localization files, etc.)
Grip doesn't change the package functionality and
dependencies, however it reduces the size of the
distribution targeting embedded uses. The "repackaging" is
handled in an automated way, using the emgrip
utility (http://www.linux.codehelp.co.uk/emdebian/man/emgrip.html).
- Pros:
- Reduced size of the distribution (a Grip based
installation with Xorg is reported to take ~300
MiB of space versus ~1.2 GiB needed for a standard
Debian installation with Xorg).
- Since it is closely based on the standard Debian;
the release and support policy and processes are the
same as for the standard Debian distribution.
- The list of 2,000 packages should satisfy needs of
most embedded applications.
- If required,
individual packages from the standard Debian can be
added on a per-package basis (indeed, any additional
package is already built in the standard Debian;
repackaging, if any is required, is a relatively
simple and well-understood procedure).
- Cons:
- The build procedure is less obvious, as compared to
the build procedure for the standard Debian.
Specifically, the APT needs to be given an explicit
list of packages to be built and then the
re-packaging tools need to be called for each
package (refer to Section: "Target Packages Build
Procedure").
- Emdebian "Crush":
Emdebian "Crush" is a narrower subset of packages, which
are heavily modified and cross-rebuilt to reduce
their functionality and use BusyBox instead of coreutils.
- Pros:
- Smaller size.
- Specifically configured and modified for cross build
and embedded uses.
- Cons:
- BusyBox based, which is sufficient for some embedded
applications but not for all.
- Targets only ARM currently
- Tied to a specific Debian release ("Lenny")
- Has not been updated for over a year
- Comments on the Mailing lists explicitly recommend to
not base any new work on Crush
(http://lists.debian.org/debian-embedded/2010/09/msg00010.html).
- Based on that assessment, a Debian based embedded Linux
distribution should probably be based on Emdebian Grip. It
shares the build and maintenance processes with the standard
Debian but specifically targets embedded uses. Emdebian
"Crush" is an obvious no-go given the no-maintenance and
not-recommended items in the corresponding Cons list.
- Gentoo:
- Embedded Gentoo
Gentoo Embedded Handbook
- relatively small user base
- no practical relevance: DENX never had a Gentoo based project yet
- OpenWRT:
- https://openwrt.org/
- heavily modified buildroot for ARM, MIPS and Power
Architecture®
- uClibc based
- ptxdist:
- http://www.ptxdist.org/