"/opt") is set at built time. Tools contain hard-coded path names, so installation to another directory is not possible. * The ELDK shall 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 bot 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, 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 ies easy to build Yocto from scratch. * Available tools like HOB [YP9] require the full build tree, i. e. a preious 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 corss 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 (for example, different releases). * 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 the ARM, MIPS and Power Architecture® - x86 support welcome, too. All supported architectures shall use the same tools and provide a homogeneous look and feel. * Well supported by Yocto. 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: * https://github.com/Freescale/meta-fsl-arm
http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-ppc/ * http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/
http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-contrib/ * http://git.yoctoproject.org/cgit/cgit.cgi/meta-oracle-java/ * http://git.yoctoproject.org/cgit/cgit.cgi/meta-ti/ * 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.
|4. Yocto Background||1. ELDK and the Yocto Project||6. Alternative Environments|