我正在努力熟悉yocto的工作,我正在阅读"Embedded Linux Systems with The Yocto Project",这是一个不错的资源,但我认为它不能很好地解释更大的图景。
为了熟悉bitbake的工作原理,我用一个名为condtest的食谱创建了一个非常简单的层,它只是打印出一个变量:
LICENSE = "GPLv2+ & LGPLv2+"
VAR1 = "jumps over"
VAR2 = "${VAR1} the lazy dog. "
VAR1 = "falls on"
VAR3 = "The rain in spain ${VAR1} the plain."
VAR4 = "The quick brown fox ${VAR2}"
do_print() {
echo VAR4: ${VAR4}
}
addtask print当我运行bitbake -c print condtest bitbake时,只会像预期的那样打印变量。我的困惑来自于我运行bitbake condtest的时候,因为这会导致bitbake开始获取和编译一大堆包。我知道在没有指定-c的情况下,“构建”是默认任务,但由于我从未在配方中定义过do_build,也从未继承过任何类,那么bitbake运行的是什么构建任务?
发布于 2021-06-06 07:13:35
总是有一个隐含的意思:
继承基础“+=”
其中包括base.bbclass和conf/bitbake.conf。它们提供了您所依赖的许多缺省值。在local.conf旁边放置一个空的bitbake.conf会做一些完全不同的事情(会破坏很多东西,但会证明它有多大作用)。
https://stackoverflow.com/questions/67853326
复制相似问题