[oe] Using EXTERNALSRC in practice

Ulf Samuelsson openembedded at emagii.com
Mon Jun 20 12:08:28 UTC 2016


We have a meta-layer which builds the kernel.

This contains among other things:

FILESEXTRAPATHS_prepend_<machine> = "${THIS_DIR}/<machine>"

SRC_URI = "git://<server>/<repo.git>;protocol=ssh;branch=<branch>"
SRC_URI += "file://defconfig"

PV = "...+git${SRCPV}"
SRCREV = "<shaid>"
...

Would like to have an option to build the kernel with external source.
That option should be easy to enable/disable

The idea is to add another layer containing a bbappend.
The build is done outside the Yocto tree using a Makefile.
The make generates the bblayer.conf file, and the layer may or may not 
be added.


The kernel is located inside the Yocto tree, and the build is outside 
the Yocto tree.

The first problem I have is to locate the kernel source.
Is there a way to find out the path to a kernel bbappend inside the 
bbappend?
 From there, I can use relative addressing.

Right now, I am setting a variable in the local.conf file from the Makefile,
but would like to avoid that.

Second problem:

What are the contents of the bbappend?
I find no examples.

It does not make sense to have a SRC_URI for the kernel source, if the 
source is already present.

What about the defconfig?
The same kernel source will be useful for several machines, so it would 
be good to
have the source there and then add configuration.

Are there any examples at all somewhere?

BR
Ulf Samuelsson





More information about the Openembedded-devel mailing list