Next Previous Contents

2. OpenEmbedded at a glance

OpenEmbedded is often defined as a meta-distribution which seeks to provide embedded linux distributions made by hand from scratch. Therefore we cannot define OpenEmbedded as an embedded Linux distribution itself. Futhermore, it is a set of metadata units conducted by a clever tool, which converts such units into tasks of execution.

In other words, there are two main elements to consider:

  1. The task executor: bitbake python utility.
  2. The metadata information: It consists of thousands of rules in the form of special files. This files will be interpreted by the task executor.

2.1 Metadata

The metadata information of OpenEmbedded (aka OE), is a complex data structure (organized by using different kinds of files) which defines three fundamental units within a embedded distribution:

  1. Definitions of machine type.
  2. Definitions of distribution type.
  3. Definitions for individual packages.

In order to make a Linux distribution we have to define the architecture of the target machine (for optimization issues, cross compilers building and so on). We also have to decide how and where we want to put all the components together (the distribution definition and the final image definition) and finally how the system have to compile and pack the different individual packages (download the sources, configuration, building, etc).

The whole structure is defined by the following different file types:

  1. .conf: configuration data (local configuration, machine/distro configuration)
  2. .bbclass: build class (autotools, cross compilers, ...)
  3. .bb: package recipe specifications
  4. .inc: include file (organization unit)


Next Previous Contents