了解 Yocto 项目 sstate-cache 的功能

Posted

技术标签:

【中文标题】了解 Yocto 项目 sstate-cache 的功能【英文标题】:Understanding Yocto Project sstate-cache functioning 【发布时间】:2020-06-05 19:38:07 【问题描述】:

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

    让我们假设工作区是干净的,全新的构建。 使用特定的 linux 内核设备树和 defconfig 参数启动 bitbake、minimal-image。 Bitbake 需要一些时间,并且会创建输出文件。 现在,更改前面提到的设备树和 defconfig 中的参数(假设添加了新的外围设备)。重新启动 bitbake,将为这个新编译创建输出文件。 现在,诀窍来了。在步骤 2 中编译之前将设备树和 defconfig 文件重置为设置。重新启动 bitbake,它将几乎是即时的。输出文件将替换为第 2 步中创建的文件。

所以,我知道这可能是由于 bitbake 和 sstate-cache 的使用,或者这就是我的假设。我已经在谷歌上搜索了一段时间,但信息不太清楚。这究竟是如何工作的?是否在编译时使用配置文件的输入创建了任何类型的签名并存储与编译相关联?我对此感到担心,因为我真的需要相信我发送到现场的内容正是正确的编译,而不是不安全的开发版本。

与此相关,启动 bitbake -c cleanall 或硬删除部署和 sstate-cache 目录有什么区别?

提前致谢。

【问题讨论】:

【参考方案1】:

官方手册中有相关信息: https://www.yoctoproject.org/docs/3.0/overview-manual/overview-manual.html#shared-state-cache

【讨论】:

或许你可以总结一下它的流程?

以上是关于了解 Yocto 项目 sstate-cache 的功能的主要内容,如果未能解决你的问题,请参考以下文章

i.MX Yocto项目用户指南 -- 上

i.MX Yocto项目用户指南 -- 上

Yocto常用术语

Yocto常用术语

Yocto常用术语

Yocto常用术语