27 创建自定义模板配置目录
如果为其他用户制作定制版构建系统,可能希望提供包含全部必要设置和层的自定义 构建配置,也就是新 Build Directory 中创建的 build/conf/local.conf 和 build/conf/bblayers.conf,以及设置构建时显示的自定义消息。 可以在自定义发行版层中创建一个或多个模板配置目录来实现。
使用 bitbake-layers save-build-conf 即可完成:
$ bitbake-layers save-build-conf ../../meta-alex/ test-1
NOTE: Starting bitbake server...
NOTE: Configuration template placed into /srv/bitbake-builds/layers/meta-alex/conf/templates/test-1
Please review the files in there, and particularly provide a configuration description in /srv/bitbake-builds/meta-alex/conf/templates/test-1/conf-notes.txt
You can try out the configuration with
TEMPLATECONF=/srv/bitbake-builds/layers/meta-alex/conf/templates/test-1 . /srv/bitbake-builds/layers/openembedded-core/oe-init-build-env build-try-test-1
上述命令读取当前 Build Directory 中 conf 下的配置文件,将
build/conf/bblayers.conf 中与站点相关的路径替换为相对于
##OECORE## 的路径,并将配置文件以指定模板名称复制到指定层。
要使用这些已保存模板作为构建起点,用户应通过 TEMPLATECONF 环境 变量指向其中一个模板:
TEMPLATECONF=/srv/bitbake-builds/layers/meta-alex/conf/templates/test-1 . /srv/bitbake-builds/layers/openembedded-core/oe-init-build-env build-try-test-1
OpenEmbedded 构建系统通过 TEMPLATECONF 环境变量找到配置来源目录,
从中获取配置信息,最终写入 Build Directory 的 conf 目录。
如果未设置 TEMPLATECONF,则从 oe-init-build-env 脚本所在目录的
.templateconf 文件读取默认值。对于 Poky 参考发行版,其内容为:
TEMPLATECONF=${TEMPLATECONF:-meta/conf/templates/default}
配置模板目录中包含 bblayers.conf.sample、local.conf.sample、
conf-summary.txt 和 conf-notes.txt 文件。运行 oe-init-build-env
设置脚本时,构建系统利用这些文件生成对应的
build/conf/bblayers.conf 和 local.conf 文件,并向用户
显示正在设置的构建的使用信息。可以按需继续编辑这些文件,改进或更改向用户
提供的构建配置,并提供有用的摘要和详细使用说明。