OpenEmbedded
Developer(s) | 75+ developers[1] |
---|---|
Development status | Active |
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
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.
- 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".
- 1 2 "Openembedded.org".
- 1 2 3 Yocto & OpenEmbedded Core Layers
- 1 2 3 "OpenEmbedded Metadata Index - layers".
- ↑ "Mailing lists".
- ↑ "2011.03-maintenance".
- 1 2 "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".
External links
- Official OpenEmbedded website and wiki
- FOSDEM'05 presentation of OpenEmbedded
- FOSDEM'07 presentation of OpenEmbedded
- ELC'08 presentation of OpenEmbedded
- OpenEmbedded User Manual