26 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 customize the message shown by the
setup script or you might want to change the template configuration
files (i.e. local.conf and bblayers.conf) that are created in a
new build directory.
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.
By default, TEMPLATECONF is set as follows in the poky
repository:
TEMPLATECONF=${TEMPLATECONF:-meta-poky/conf}
This is the
directory used by the build system to find templates from which to build
some key configuration files. If you look at this 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 display the
list of BitBake targets when running the setup script.
To override these default configuration files with configurations you
want used within every new Build Directory, simply set the
TEMPLATECONF variable to your directory. The TEMPLATECONF
variable is set in the .templateconf file, which is in the top-level
Source Directory folder
(e.g. poky). Edit the .templateconf so that it can locate your
directory.
Best practices dictate that you should keep your template configuration
directory in your custom distribution layer. For example, suppose you
have a layer named meta-mylayer located in your home directory and
you want your template configuration directory named myconf.
Changing the .templateconf as follows causes the OpenEmbedded build
system to look in your directory and base its configuration files on the
*.sample configuration files it finds. The final configuration files
(i.e. local.conf and bblayers.conf ultimately still end up in
your Build Directory, but they are based on your *.sample files.
TEMPLATECONF=${TEMPLATECONF:-meta-mylayer/myconf}
Aside from the *.sample configuration files, the conf-notes.txt
also resides in the default meta-poky/conf directory. The script
that sets up the build environment (i.e.
oe-init-build-env) uses this file to
display BitBake targets as part of the script output. Customizing this
conf-notes.txt file is a good way to make sure your list of custom
targets appears as part of the script’s output.
Here is the default list of targets displayed as a result of running either of the setup scripts:
You can now run 'bitbake <target>'
Common targets are:
core-image-minimal
core-image-sato
meta-toolchain
meta-ide-support
Changing the listed common targets is as easy as editing your version of
conf-notes.txt in your custom template configuration directory and
making sure you have TEMPLATECONF set to your directory.