Optimization 如何组织下载&;Yocto构建的sstate_缓存?

Optimization 如何组织下载&;Yocto构建的sstate_缓存?,optimization,build,yocto,Optimization,Build,Yocto,我倾向于为各种板和版本(相扑、勇士等)构建Yocto版本。为了加速构建,我使用单独的DL_-DIR和SSTATE_-DIR。我遵循的结构如下所示: 所有构建和板的单一下载目录(因为不同板的大多数构建使用相同的工具链) 每个板的单独sstate缓存目录 我的问题是,我可以使用singleSSTATE\u DIR来提高性能并减小文件夹大小吗?有人试过吗 建议和个人经验也非常感谢。您可以在所有构建目录和Yocto版本中共享DL_DIR。这些只是来源的柏油球 您可以在所有构建目录中共享SSTATE

我倾向于为各种板和版本(相扑、勇士等)构建Yocto版本。为了加速构建,我使用单独的
DL_-DIR
SSTATE_-DIR
。我遵循的结构如下所示:

  • 所有构建和板的单一下载目录(因为不同板的大多数构建使用相同的工具链)
  • 每个板的单独sstate缓存目录

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


建议和个人经验也非常感谢。

您可以在所有构建目录和Yocto版本中共享
DL_DIR
。这些只是来源的柏油球

您可以在所有构建目录中共享
SSTATE\u DIR
,尽管这只对共享同一Yocto版本的构建有利,否则根本无法提高大小或速度。这是有意义的,因为具有相同体系结构的机器的许多本机包和“基本”目标包(在您的案例中为
aarch64
)对于所述机器是相同的,并且将使用共享的
SSTATE\u DIR
。对于不匹配的情况,新条目将添加到您的
SSTATE\u DIR
。当您有不同的Yocto版本时,一些软件包配方已经更新,并且大多数情况下,glibc、binutils和gcc都会更新。这些是几乎所有其他软件包配方使用的软件包,这有效地使早期(或后期)Yocto版本的软件包配方无法重复使用sstate缓存,因为它们所依赖的软件包配方是上述配方的sstate缓存的一部分,所以这些软件包配方没有更改。此外,Yocto版本位于sstate缓存项的文件名中,因此无论如何都将重建它们