Linux 了解Yocto项目sstate缓存功能

Linux 了解Yocto项目sstate缓存功能,linux,embedded,embedded-linux,yocto,bitbake,Linux,Embedded,Embedded Linux,Yocto,Bitbake,我是Yocto项目的新手。我正在管理几个项目,每个项目都有一个版本:开发/调试和现场/工业化。在使用构建系统时,我注意到以下场景反复出现 让我们假设工作区是干净的,一个新的构建。 使用特定的linux内核设备树和defconfig参数启动bitbake、最小映像。Bitbake将花费一些时间,并将创建输出文件。 现在,添加了前面提到的设备树中的change参数和新的外围设备。重新启动bitbake,将为此新编译创建输出文件。 现在,诀窍来了。在步骤2中编译之前,将设备树和defconfig文件重

我是Yocto项目的新手。我正在管理几个项目,每个项目都有一个版本:开发/调试和现场/工业化。在使用构建系统时,我注意到以下场景反复出现

让我们假设工作区是干净的,一个新的构建。 使用特定的linux内核设备树和defconfig参数启动bitbake、最小映像。Bitbake将花费一些时间,并将创建输出文件。 现在,添加了前面提到的设备树中的change参数和新的外围设备。重新启动bitbake,将为此新编译创建输出文件。 现在,诀窍来了。在步骤2中编译之前,将设备树和defconfig文件重置为设置。重新启动bitbake,它几乎是即时的。输出文件将替换为步骤2中创建的文件。 所以,我知道这是可能的,因为bitbake和sstate缓存的使用,或者我是这么想的。我在谷歌上搜索了一段时间,但信息不太清楚。这到底是怎么回事?是否在编译时使用配置文件的输入创建并存储了与编译相关的任何类型的签名?我之所以担心这一点,是因为我真的需要相信,我发送到该字段的正是正确的编译,而不是不安全的开发版本

与此相关的是,启动bitbake-c cleanall或硬删除部署和sstate缓存dirs之间的区别是什么


提前感谢。

官方手册中提供了相关信息:

也许您可以总结一下它的流程?