OpenEmbedded
Developer(s) | 75+ developers[1] |
---|---|
Repository | |
Operating system | Linux |
Platform | Cross-platform |
Type | Build automation |
License | MIT |
Website | www |
OpenEmbedded is a software framework used for creating Linux distributions aimed for, but not restricted to, embedded devices. The build system is based on BitBake recipes,[2] which behave like Gentoo Linux ebuilds.
Recipes in the old OpenEmbedded-Classic were all found in one place. In the new OpenEmbedded-Core, the structure has changed into meta layers[3][4] to make adding custom recipes easier.
OpenEmbedded can be installed and automatically updated via Git.[2]
History
![]() | This section needs expansion. You can help by adding to it. (August 2011) |
The OpenEmbedded Project (OE for short, but mostly called OE-dev, following the name of the mailing list[5]) 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,[6] although most development is, or will be, based on the new OpenEmbedded-Core in the future.
The OpenEmbedded-Core Project (OE-Core for short) resulted from the merge of the Yocto Project with OpenEmbedded.[7] 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
OpenEmbedded-Core has adapted this layered structure in the merge with Yocto and new layer entries were added over time.[3][4] The Layers represent a structure which is only of declarative nature. The specific entries are stricter in the scope of deciding which entry provides which packages. Overview of layers is available in: layers
- 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-fsl-arm (Freescale Semiconductor officially supported development boards)
- meta-fsl-arm-extra (Freescale Semiconductor community supported boards)
- meta-handheld (Personal digital assistants, PDAs)
- meta-intel (Intel embedded devices)
- meta-nslu2 (NSLU2 devices)
- meta-openpandora (Openpandora devices)
- meta-smartphone (various smartphone devices)
- meta-ti (Texas Instruments devices)
- meta-xilinx (Xilinx devices)
- meta-altera (Altera devices)
- (Others)
- OpenEmbedded-Core layer
-
- openembedded-core
- meta-openembedded
Distributions supported
In OpenEmbedded-Classic, the configurations from Base- to the UI-Layer can be supplemented by various Linux distributions. The following list is available for OpenEmbedded:
Supported hardware
Various devices are supported:[10]
- Boards and processors
- The BeagleBoard from Texas Instruments, the Gumstix,[11][12] Nvidia Tegra and several I.MX devices (e.g. I.MX28 series)[13] from Freescale Semiconductor are supported.[citation needed]
- Other well known boards like the PandaBoard are also supported.[14][15] along with other hardware.
- Some devices of the IBM PowerPC series are supported by OpenEmbedded.[16]
- Smartphones
- Smartphones like the Nokia N800 and Neo FreeRunner are supported.
- Porting to new hardware
- The constellation of OpenEmbedded, especially the open design, allows it to get OpenEmbedded to adapt new hardware fairly easy.[17][18]
See also
References
- ^ "OpenEmbedded Developers".
- ^ a b "Openembedded.org".
- ^ a b c Yocto & OpenEmbedded Core Layers
- ^ a b c "OpenEmbedded Metadata Index - layers".
- ^ "Mailing lists".
- ^ "2011.03-maintenance".
- ^ a b "Yocto Project Aligns Technology with OpenEmbedded and Gains Corporate Collaborators".
- ^ "SHR".
- ^ Ben Combee on Palm Developer Forum - Fri Jul 16, 2010. Building static libs
- ^ "Overview of OE supported machines".
- ^ Using OpenEmbedded build system for Gumstix
- ^ TI Gumstix OpenEmbedded development environment
- ^ Unofficial OpenEmbedded I.MX28 support
- ^ "PandaBoard".
- ^ "OMAP Angstrom Main".
- ^ Power.org devcon 07 OpenEmbedded presentation
- ^ Yocto Project Board Support Package guide
- ^ "Yocto Project Development Manual".