已构建配方能否执行rm_work任务?无需重构如何释放磁盘空间
Yocto rm_work相关问题解答
1. 添加INHERIT += "rm_work"到local.conf后如何释放磁盘空间?
- 针对单个已构建配方清理其work目录,执行命令:
bitbake -c rm_work <recipe-name> - 批量清理所有已构建配方的work目录,可执行:
注:bitbake -c rm_work worldworld覆盖所有配方,执行前确认是否需要清理全部,避免误删正在使用的临时文件。 - 后续新构建的配方会自动触发rm_work清理,无需手动执行。
2. 已完成部分构建后补加rm_work配置,能否对已构建配方执行rm_work任务?
可以,无需删除tmp文件夹重新构建,操作步骤如下:
- 确保
INHERIT += "rm_work"已添加到local.conf并生效; - 针对已构建完成的单个配方,执行:
bitbake -c rm_work <recipe-name> - 批量处理已构建配方时,先列出已构建的配方:
再结合shell循环批量执行rm_work任务:oe-pkgdata-util list-pkgs --recipefor recipe in $(oe-pkgdata-util list-pkgs --recipe); do bitbake -c rm_work $recipe; done - 若构建目标是镜像,可直接对镜像执行命令,bitbake会自动处理其所有已构建的依赖配方:
此命令会跳过未完成构建的部分,仅清理已成功构建的配方work目录。bitbake -c rm_work <my-image>
内容的提问来源于stack exchange,提问作者Martin Flaska
相关产品推荐
相关产品推荐

