When stored outside of the recipe-space, the kernel Metadata
files reside in a separate repository.
The OpenEmbedded build system adds the Metadata to the build as
a "ktype=meta" repository through the
SRC_URI
variable.
As an example, consider the following SRC_URI
statement from the linux-yocto_4.4.bb
kernel recipe:
SRC_URI = "git://git.yoctoproject.org/linux-yocto-4.4.git;name=machine;branch=${KBRANCH}; \ git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=yocto-4.4;destsuffix=${KMETA}"
${KMETA}
, in this context, is simply used to
name the directory into which the Git fetcher places the Metadata.
This behavior is no different than any multi-repository
SRC_URI
statement used in a recipe (e.g.
see the previous section).
You can keep kernel Metadata in a "kernel-cache", which is a
directory containing configuration fragments.
As with any Metadata kept outside the recipe-space, you simply
need to use the SRC_URI
statement with the
"type=kmeta" attribute.
Doing so makes the kernel Metadata available during the
configuration phase.
If you modify the Metadata, you must not forget to update the
SRCREV
statements in the kernel's recipe.
In particular, you need to update the
SRCREV_meta
variable to match the commit in
the KMETA
branch you wish to use.
Changing the data in these branches and not updating the
SRCREV
statements to match will cause the
build to fetch an older commit.