首页 > 解决方案 > 如何为 Yocto 构建组织下载和 sstate_cache?

问题描述

我倾向于为各种板和版本(相扑、战士等)构建 Yocto 版本。为了加快构建我使用单独的DL_DIR& SSTATE_DIR。我遵循的结构如下:

在此处输入图像描述

我的问题是,我可以使用 singleSSTATE_DIR来提高性能并减小文件夹大小吗?有人试过吗?

建议和个人经验也值得赞赏。

标签: optimizationbuildyocto

解决方案


DL_DIR您可以在所有构建目录和 Yocto 版本之间共享。这些只是来源的压缩包。

您可以SSTATE_DIR在所有构建目录之间共享,尽管它仅对共享相同 Yocto 版本的构建有益,否则根本不会提高大小或速度。这是有道理的,因为相同架构的机器(在你的情况下aarch64)的许多本机包和“基本”目标包对于所述机器是相同的,并且将使用 shared SSTATE_DIR。对于不匹配的案例,新条目将添加到您的SSTATE_DIR. 当你有不同的 Yocto 版本时,一些包配方已经更新,最常见的是 glibc、binutils 和 gcc 更新。这些是几乎所有其他包配方使用的包,这实际上使得无法从早期(或更高版本)的 Yocto 版本中重新使用 sstate-cache 来用于未更改的包配方,因为它们所依赖的包配方是其中的一部分所述食谱的状态缓存。此外,Yocto 版本位于 sstate-cache 条目的文件名中,因此无论如何它们都会被重建。


推荐阅读