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:
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:
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: