简体   繁体   English

Yocto:如何在不全部重建的情况下删除图层

[英]Yocto: how to remove a layer without rebuild all

I'm playing with a Yocto project that has in its conf/bblayers.conf file the following line:我正在玩一个 Yocto 项目,该项目在其conf/bblayers.conf文件中包含以下行:

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

I partially bitbaked the project but now I want to try to disable the whole meta-qt5 layer.我对项目进行了部分 bitbaked,但现在我想尝试禁用整个 meta-qt5 层。 After commenting out the line above, how to remove the already built files from the output folder and go on with the others?在注释掉上面的行之后,如何从 output 文件夹和 go 文件夹中删除已经构建的文件?

I tried with bitbake -c cleansstate meta-qt5 but it doesn't work.我尝试使用bitbake -c cleansstate meta-qt5但它不起作用。 I guess it works with recipes only, and not with whole layers.我想它只适用于食谱,而不适用于整个层。

Easiest way to clean a build is to remove TMPDIR temporary folder (default is <build>/tmp ).清理构建的最简单方法是删除TMPDIR临时文件夹(默认为<build>/tmp )。

That will remove previous compilation results, but those are also kept in SSTATE_DIR cache folder.这将删除以前的编译结果,但这些结果也保存在SSTATE_DIR缓存文件夹中。 Next build will not rebuild all, it will reuse cache results to speed it up.下一次构建不会全部重建,它会重用缓存结果以加快速度。

Then, you can clean your cache folder for obsolete entries with sstate-cache-management.sh script:然后,您可以使用sstate-cache-management.sh脚本清除缓存文件夹中的过时条目:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM