HOME

TheInfoList



OR:

OpenEmbedded (OE) is a
build automation Build automation is the practice of building software systems in a relatively unattended fashion. The build is configured to run with minimized or no software developer interaction and without using a developer's personal computer. Build automati ...
framework and cross-compile environment used to create
Linux distribution A Linux distribution, often abbreviated as distro, is an operating system that includes the Linux kernel for its kernel functionality. Although the name does not imply product distribution per se, a distro—if distributed on its own—is oft ...
s for
embedded device An embedded system is a specialized computer system—a combination of a computer processor, computer memory, and input/output peripheral devices—that has a dedicated function within a larger mechanical or Electronics, electronic syst ...
s. The framework is developed by the OpenEmbedded community, which was formally established in 2003. OpenEmbedded is the recommended build system of the Yocto Project, which is a
Linux Foundation The Linux Foundation (LF) is a non-profit organization established in 2000 to support Linux development and open-source software projects. Background The Linux Foundation started as Open Source Development Labs in 2000 to standardize and prom ...
workgroup that assists commercial companies in the development of Linux-based systems for embedded products. The build system is based on BitBake. A BitBake configuration file, called a recipe, specifies various information such as dependency and source code locations, how to build a package, and how to install and remove a compiled package. OpenEmbedded tools use these recipes to fetch and patch source code, compile and link binaries, produce binary packages ( ipk, deb,
rpm Revolutions per minute (abbreviated rpm, RPM, rev/min, r/min, or r⋅min−1) is a unit of rotational speed (or rotational frequency) for rotating machines. One revolution per minute is equivalent to hertz. Standards ISO 80000-3:2019 def ...
), and create bootable images. Historically, OpenEmbedded recipes were stored in a single repository, and the metadata was structured as what is now called "OpenEmbedded-Classic". Starting in 2010, the structure was modified to better support the ever-growing number of recipes. Recipe metadata was split into multiple layers. The lowest layer, which includes platform-independent and distribution-independent meta data is called "OpenEmbedded-Core". Architecture-specific, application-specific and distribution-dependent instructions are applied in appropriate target support layers that can override or complement the instructions from lower layers. Additionally, changes to the recipes at the core layer are now managed with a pull model: instead of committing their changes directly to the repository (as was previously the case), developers now send patches to a mailing list. When approved, the patches are merged (pulled) by a maintainer.. The OpenEmbedded framework can be installed and automatically updated via
Git Git () is a distributed version control system that tracks versions of files. It is often used to control source code by programmers who are developing software collaboratively. Design goals of Git include speed, data integrity, and suppor ...
.. The OpenEmbedded Image Creator, called Wic, can be used to generate disk image files; generally with extension .wic.


History

The ''OpenEmbedded Project'', created by Chris Larson, Michael Lauer, and Holger Schurig, merged 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. ''OpenEmbedded-Core'' (OE-Core) resulted from the merge of the Yocto Project with OpenEmbedded. Since then, all package recipes are maintained through OpenEmbedded-Core.


Layer organisation

OpenEmbedded-Core has adapted this layered structure in the merge with Yocto and new layer entries were added over time.Yocto & OpenEmbedded Core Layers
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: ; 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 A gnome () is a mythological creature and diminutive spirit in Renaissance magic and alchemy, introduced by Paracelsus in the 16th century and widely adopted by authors, including those of modern fantasy literature. They are typically depict ...
window manager) :* meta-gpe ( GPE window manager) :* meta-xfce (
Xfce Xfce or XFCE (pronounced as four individual letters, ) is a Free and open-source software, free and open-source desktop environment for Linux and other Unix-like operating systems. Xfce aims to be fast and Lightweight software, lightweight whil ...
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 assistant A personal digital assistant (PDA) is a multi-purpose mobile device which functions as a personal information manager. Following a boom in the 1990s and 2000s, PDAs were mostly displaced by the widespread adoption of more highly capable smar ...
s, PDAs) :* meta-intel (
Intel Intel Corporation is an American multinational corporation and technology company headquartered in Santa Clara, California, and Delaware General Corporation Law, incorporated in Delaware. Intel designs, manufactures, and sells computer compo ...
embedded devices) :* meta-nslu2 ( NSLU2 devices) :* meta-openpandora ( Openpandora devices) :* meta-smartphone (various smartphone devices) :* meta-ti (
Texas Instruments Texas Instruments Incorporated (TI) is an American multinational semiconductor company headquartered in Dallas, Texas. It is one of the top 10 semiconductor companies worldwide based on sales volume. The company's focus is on developing analog ...
devices) :* meta-xilinx (
Xilinx Xilinx, Inc. ( ) was an American technology and semiconductor company that primarily supplied programmable logic devices. The company is renowned for inventing the first commercially viable field-programmable gate array (FPGA). It also pioneered ...
devices) :* meta-altera ( Altera devices) :* meta-ettus (Ettus Research USRP SDR devices) :* (Others) ; Yocto layer :* meta-yocto (Yocto Project layer) ; 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 distribution A Linux distribution, often abbreviated as distro, is an operating system that includes the Linux kernel for its kernel functionality. Although the name does not imply product distribution per se, a distro—if distributed on its own—is oft ...
s. The following list is available for OpenEmbedded: * Ångström distribution * KaliOS * Openmoko * SHR * SlugOS *
WebOS webOS, also known as LG webOS, is a Linux kernel-based multitasking operating system for smart devices, such as smart TVs, that has also been used as a mobile operating system. Initially developed by Palm, Inc. (which was acquired by Hewlett ...
* Others


Supported hardware

Various devices are supported: ; Boards and processors : The BeagleBoard from Texas Instruments, and a variety of devices based on an ARM CPU are supported. ; Smartphones : Smartphones like the
Nokia N800 The Nokia N800 Internet tablet is a wireless Internet appliance from Nokia, originally announced at the Las Vegas CES 2007 Summit in January 2007. N800 allows the user to browse the Internet and communicate using Wi-Fi networks or with mobi ...
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.


See also

* * * * * *


References


External links

*
FOSDEM'05 presentation of OpenEmbedded

FOSDEM'07 presentation of OpenEmbedded

ELC'08 presentation of OpenEmbedded
{{DEFAULTSORT:Openembedded Build automation Embedded Linux Personal digital assistant software Software using the MIT license