Search code examples
embedded-linuxyoctoopenembedded

What are the differences between Open Embedded Core and meta-openembedded


Until now, I am still really confused between the recipes in Openembedded-core vs the one in meta-openembedded. And many time, have trouble to put the recipes in the right directory. They are really similar yet seem to be so different in the content of recipes.

OpenEmbedded Core contains base layer of recipes, classes and associated files that is meant to be common among many different OpenEmbedded-derived systems, including the Yocto Project.

meta-openembedded is a collection of layers for the OE-core universe

What are the differences of content of these two metadata? And why do they have to separate into two metadata?


Solution

  • At the start of the OpenEmbedded Project, there was only one set of recipes. By 2010, the sheer size of the meta-data was a problem. (You can see the old repository here: https://github.com/openembedded/openembedded)

    The start of the Yocto Project provided manpower to do something OpenEmbedded had talked about for years, start splitting the recipes into useful and easier to maintain subsets. Openembedded-core are the set of recipes that most people need to use to build a small, useful embedded device. Meta-openembedded was everything else. The meta-openembedded layers are used to extend the capability of openembedded-core by increasing the number of recipes to build more software for your project.

    Since then, we have been working on meta-openembedded to divide it into smaller groups of recipes grouped by technology, which is why meta-openembedded contains several layers now.