【问题标题】:Yocto: how to remove a layer without rebuild allYocto:如何在不全部重建的情况下删除图层
【发布时间】:2020-01-28 03:04:53
【问题描述】:

我正在玩一个 Yocto 项目,该项目在其 conf/bblayers.conf 文件中包含以下行:

ADDONSLAYERS += "${@'${OEROOT}/layers/meta-qt5' if os.path.isfile('${OEROOT}/layers/meta-qt5/conf/layer.conf') else ''}"

我对项目进行了部分位烘焙,但现在我想尝试禁用整个 meta-qt5 层。 注释掉上面这行之后,如何从输出文件夹中删除已经构建的文件并继续其他的?

我尝试使用bitbake -c cleansstate meta-qt5,但它不起作用。我猜它只适用于食谱,而不适用于整个图层。

【问题讨论】:

  • 您可以做的是删除您的build/tmp 文件夹并使用sstate-cache 重建它。然后你可以用sstate-cache-management.sh 脚​​本清理sstate-cache
  • 您是否介意将您的评论作为答案,提供有关该程序的更多详细信息?

标签: qt qt5 yocto bitbake


【解决方案1】:

清理构建最简单的方法是删除 TMPDIR 临时文件夹(默认为 <build>/tmp)。

这将删除以前的编译结果,但这些结果也保存在 SSTATE_DIR 缓存文件夹中。下一次构建不会全部重建,它会重用缓存结果以加快速度。

然后,您可以使用 sstate-cache-management.sh 脚本清除缓存文件夹中的过时条目:

# Example of usage (after sourcing oe-init-build-env)
sstate-cache-management.sh --cache-dir=../sstate-cache -d -y

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-30
    • 2018-02-07
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 2023-03-23
    • 2021-09-08
    相关资源
    最近更新 更多