Yocto 执行bitbake recipe,丢弃sstate_缓存

Yocto 执行bitbake recipe,丢弃sstate_缓存,yocto,bitbake,build-system,Yocto,Bitbake,Build System,我有一个yocto项目,我在其中添加了一些配方,其中的一些功能在构建时非常重要(这些功能包括一些链接创建,一些文件“平衡”)。虽然当第一次构建完成时,所有内容都会被保存到共享/sstate\u缓存中,以便执行这些配方。当我对构建系统进行一些更改,同时删除一些构建文件或洞构建目录并重新运行构建时,bitbake不会执行这些配方。 唯一的解决办法是: bitbake -c cleanall <list_of_my_recipes_to_be_rerun> bitbake-c clean

我有一个yocto项目,我在其中添加了一些配方,其中的一些功能在构建时非常重要(这些功能包括一些链接创建,一些文件“平衡”)。虽然当第一次构建完成时,所有内容都会被保存到共享/sstate\u缓存中,以便执行这些配方。当我对构建系统进行一些更改,同时删除一些构建文件或洞构建目录并重新运行构建时,bitbake不会执行这些配方。 唯一的解决办法是:

bitbake -c cleanall <list_of_my_recipes_to_be_rerun>
bitbake-c cleanall
所以我必须显式地清理缓存,让bitbake重新运行它们

因此,我的问题是: 是否有某种方法可以显式设置要执行的配方,而不管共享缓存保存在配方上的是什么? 或者在build dir中本地保存状态? 或者告诉bitbake不要保存配方的状态?

简单方法:

$ bitbake <recipe> -C unpack
$bitbake-C解包
这会生成配方,但会强制解包重新运行,这意味着其他所有内容也必须重新运行

但是,如果配方与sstate不兼容,则说明您的配方存在问题。

简单方法:

$ bitbake <recipe> -C unpack
$bitbake-C解包
这会生成配方,但会强制解包重新运行,这意味着其他所有内容也必须重新运行


但是,如果配方不能与sstate一起使用,那么这就是配方的问题。

您可以在配方中设置BB\u DONT\u CACHE=“1”,使用-C选项重新运行配方,或者使任务校验和取决于您正在更改的这些内容,以便在更改它们时自动重建。您还可以清理配方,然后使用--no setscene进行bitbake。

您可以在配方中设置BB\u DONT\u CACHE=“1”,使用-C选项重新运行配方,或者使任务校验和取决于您正在更改的这些内容,以便在更改它们时自动重建。您也可以只清理配方,然后使用--no-setscene进行bitbake

是否有某种方法可以显式设置要执行的配方,而不管共享缓存保存在配方上的是什么

要强制运行配方,无论共享状态缓存中有什么(或其他任何内容), 将
-f |--force
选项传递给bitbake命令,例如

bitbake -f [other_options...] recipe_name ...
请参阅手册中的

是否有某种方法可以显式设置要执行的配方,而不管共享缓存保存在配方上的是什么

要强制运行配方,无论共享状态缓存中有什么(或其他任何内容), 将
-f |--force
选项传递给bitbake命令,例如

bitbake -f [other_options...] recipe_name ...
请参阅手册中的