- ELDK shall be available for free (free download).
- Full source code shall be provided: The complete source
code of the ELDK including all build tools, installation
utilities etc. shall be available for free.
- Even though ELDK has always been Free Software, it never
became a community backed project. Except for a few minor
fixes, DENX has always been the only contributor.
-
The Yocto Project is an open-source collaboration project.
It is backed by a big and active community.
In addition, it is based on OpenEmbedded with an even
bigger community.
- Installation and use of the ELDK shall not require
super-user privileges: every user shall be able to install the ELDK
without having to ask a system administrator for
help.
-
The Yocto installation path (default: below
"/opt") is
set at built time. Tools contain hard-coded path names, so
installation to another directory is not possible.
- The ELDK shall be self-contained: everything installs into a
single directory; no files get installed or modified in
the host file system tree outside this directory.
-
Yocto uses a single install directory for the cross tools;
target file systems are independent and can be installed
there, too.
- ELDK shall be flexible: it shall be possible to use the same installation
of ELDK for many different projects.
- ELDK supports families of target processors. It does not
provide and cannot (directly) create board-specific images.
- Yocto (like OpenEmbedded) is configured for a single
board configuration. It can build boot loader, Linux kernel and
root file system images for this board.
-
Yocto supports only a single board configuration for each of
the supported architectures (ARM, MIPS, Power Architecture®, x86).
-
Yocto is flexible enough to allow adding "generic" target
configurations.
- ELDK shall be efficient: it must be possible to rebuild everything from the source code,
but it shall be sufficient to do this only once, and then use the built binaries and images
without need for rebuild for normal development work.
-
It is easy to build Yocto from scratch.
-
Available tools like HOB [YP9]
require the full build tree, i. e. a previous local build
- ELDK shall support customization: it shall be possible to adapt
the ELDK in such a way that it can be used by the end customer
as software production environment for his projects.
- ELDK never even came close to this. It provided a reference
set of cross and target tools and libraries, but did not help
providing a software build environment.
-
Yocto provides this by design.
- Multiple installations can co-exist: It shall be possible to
install several independent instances of the ELDK
on the same host system (e.g. different releases or different targets).
- ELDK could be installed anywhere, multiple independent
installations of the same or different versions were trivially
possible.
-
Yocto is hard-coded for a fixed installation path.
We can install several versions (by configuring these to use
different installation directory names), but we cannot install
for example two different builds of the same version on a
single machine.
- Auto-selection of header files and Libraries: the ELDK shall
make it easy to build target software or to use existing
Makefiles; the tools shall make sure that the
correct versions of target header files and system
libraries will get selected automatically.
- ELDK shall be suitable for professional use and meet typical
industrial requirements like strict versioning, exact
reproducibility, updates and bug fixes, etc.
- ELDK shall be multi-platform: we need to support at least
ARM, MIPS and Power Architecture® - x86 support welcome,
too. All supported architectures shall use the same tools and
provide a homogeneous look and feel.
Additional considerations:
-
Yocto is the first project that was started with the intention to
be independent of a specific hardware architecture or target
board configuration.
-
Yocto is supported and driven by the
Linux Foundation
and backed by direct (commercial) interest from a number of
important companies, including (but not limted to)
Intel,
Texas Instruments,
MontaVista,
Wind River ...
-
A growing number of other companies start providing their own
meta-layers and/or switch from proprietary development
environments to Yoco based ones, see for example
http://www.openembedded.org/wiki/LayerIndex:
Yocto is the first software development environment for embedded
systems that had emulation of hardware (running under
QEMU in mind by design.
Yocto supports a number of popular package formats,
including .rpm, .ipk and .deb ,
- ELDK 5.0 used .rpm .
- Starting with v5.1, ELDK used .ipk,
a lightweight package management system designed specifically for use in Linux devices
with limited storage and resources.