User:Scientist.St/OpenEmbedded

Overview
OpenEmbedded is a software framework to create Linux distributions aimed for, but not restricted to, embedded devices. The Build system is based on BitBake reciepes, wich behave similar to Gentoo's ebuilds.

Reciepes in the old OpenEmbedded-Classic where all found in one place, in the new OpenEmbedded-Core the structure has changed into meta layers to make it easier to add custom recipes.

OpenEmbedded can be installed and automatically updated via Git

OpenEmbedded-Classic
The OpenEmbedded Project (OE for short, but mostly called OE-dev, following the name of the mailing list ) was created by Chris Larson, Michael Lauer, and Holger Schurig, merging the achievements of OpenZaurus with contributions from projects like Familiar Linux and OpenSIMpad into a common codebase. OpenEmbedded superseded these projects and was used to build any of them from the same code base. Stable maintenance builds exist for the old OpenEmbedded-Classic, altough the most development is, or will be based, on the new OpenEmbedded-Core in the future.

OpenEmbedded-Core
The OpenEmbedded-Core Project (OE-Core for short) resulted from the merge of the Yocto Project™ with OpenEmbedded. This is the most recent version of OpenEmbedded and many of the OE-dev recipes are available in OE-Core. Newer versions of package recipes may only get ported for OpenEmbedded-Core

Layer organisation in OpenEmbedded-Core
OpenEmbedded-Core has adapted this layered structure in the merge with Yocto and new layer entries were added over time.

The Layers represent a structure which is only of declarative nature. The specific entries are more strict in the scope of deciding which entry provides wich packages.

Developer layer
The user defined layer for custom Bitbake recipes. Embedded system software developers would place their recipe here if the software would not fit the commercial or base layer.

Commercial layer
Packages, plugins and configurations from open source vendors go in this layer.

UI-specific layer
Layers currently present within the meta-openembedded layer:
 * meta-efl (Enlightenment window manager)
 * meta-gnome (GNOME window manager)
 * meta-gpe (GPE window manager)
 * meta-xfce (Xfce window manager)

Hardware-Specific layer

 * meta-efikamx (Efika devices)
 * meta-intel (Intel embedded devices)
 * meta-nslu2 (NSLU2 devices)
 * meta-openpandora (Openpandora device layer)
 * meta-smartphone (various smartphone devices)
 * meta-texasinstruments (Texas Instruments devices)
 * meta-xilinx (Xilinx devices)
 * (Others)

Yocto layer

 * meta-yocto (Yocto Project™ layer )

OpenEmbedded-Core layer

 * openembedded-core
 * meta-openembedded

Distributions supported by OpenEmbedded
In OpenEmbedded the configurations from Base- to the UI-Layer can be supplemented by various Linux distributions. The following list is available for OpenEmbedded.
 * Ångström distribution
 * KaeilOS
 * Openmoko
 * SHR
 * SlugOS
 * WebOS
 * Others see

Supported hardware
See for a partial list of supported devices.

Boards and processors
The BeagleBoard and Gumstix boards from Texas Instruments and several I.MX devices (for example the  I.MX28 series ) from Freescale are supported.

Other well known boards like the PandaBoard are also supported along with other hardware.

Some devices of the IBM PowerPC series are supported by OpenEmbedded

Smartphones
Smartphones like the Nokia N800 and Neo FreeRunner are supported.

Porting OpenEmbedded to new hardware
The constellation of OpenEmbedded, especially the open design, allows it to get OpenEmbedded to adapt new hardware fairly easy.