23 Creating a Custom Template Configuration Directory
If you are producing your own customized version of the build system for
use by other users, you might want to provide a custom build configuration
that includes all the necessary settings and layers (i.e. local.conf
and
bblayers.conf
that are created in a new Build Directory) and a custom
message that is shown when setting up the build. This can be done by
creating one or more template configuration directories in your
custom distribution layer.
This can be done by using bitbake-layers save-build-conf
:
$ bitbake-layers save-build-conf ../../meta-alex/ test-1
NOTE: Starting bitbake server...
NOTE: Configuration template placed into /srv/work/alex/meta-alex/conf/templates/test-1
Please review the files in there, and particularly provide a configuration description in /srv/work/alex/meta-alex/conf/templates/test-1/conf-notes.txt
You can try out the configuration with
TEMPLATECONF=/srv/work/alex/meta-alex/conf/templates/test-1 . /srv/work/alex/poky/oe-init-build-env build-try-test-1
The above command takes the config files from the currently active Build Directory under conf
,
replaces site-specific paths in bblayers.conf
with ##OECORE##
-relative paths, and copies
the config files into a specified layer under a specified template name.
To use those saved templates as a starting point for a build, users should point to one of them with TEMPLATECONF environment variable:
TEMPLATECONF=/srv/work/alex/meta-alex/conf/templates/test-1 . /srv/work/alex/poky/oe-init-build-env build-try-test-1
The OpenEmbedded build system uses the environment variable
TEMPLATECONF to locate the directory from which it gathers
configuration information that ultimately ends up in the
Build Directory conf
directory.
If TEMPLATECONF is not set, the default value is obtained
from .templateconf
file that is read from the same directory as
oe-init-build-env
script. For the Poky reference distribution this
would be:
TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf/templates/default}
If you look at a configuration template directory, you will
see the bblayers.conf.sample
, local.conf.sample
, and
conf-notes.txt
files. The build system uses these files to form the
respective bblayers.conf
file, local.conf
file, and show
users a note about the build they’re setting up
when running the oe-init-build-env
setup script. These can be
edited further if needed to improve or change the build configurations
available to the users.