linux - Bitbake 构建占用更多空间

标签 linux build yocto bitbake

我最近开始使用 Bitbake 来构建 Yocto。每次构建时,它都会占用更多空间,目前我的磁盘空间不足。图像不会被覆盖。为每个构建创建一组带有时间戳的新文件。我已经从 build/tmp/deploy/images/中删除了旧文件。但这对磁盘可用空间没有太大影响。我可以从其他位置删除内容吗?

我在构建过程中观察到的错误是:

WARNING: The free space of source/build/tmp (/dev/sda4) is running low (0.999GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!
WARNING: The free space of source/build/sstate-cache (/dev/sda4) is running low (0.999GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!
WARNING: The free space of source/build/downloads (/dev/sda4) is running low (0.999GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!

请提出一些建议以避免此问题。

最佳答案

按照有效性和修复的难易程度排序:

  • 购买更多磁盘空间:将 $TMPDIR 放在自己的 SSD 上有很大帮助,并且消除了微观管理的需要。
  • 删除 $TMPDIR (build/tmp): 机器的旧镜像、旧包和工作目录/sysroots 您当前未为其构建的机器会累积并占用大量空间。您通常可以偶尔删除整个 $TMPDIR:只要您使用 sstate-cache,下一次构建应该仍然非常快。
  • 删除 $SSTATE_DIR (build/sstate-cache): 如果您进行大量构建,sstate 本身会随着时间累积。删除目录是安全的,但下一次构建将花费很长时间,因为所有内容都将被重建。
  • 删除 $DL_DIR(构建/下载):如果您长时间使用构建目录(同时从 master 提取更新或更改到较新的分支),过时的下载会继续占用磁盘空间。请记住,删除目录将意味着重新下载所有内容。只查看最大的文件并删除旧版本可能是一种有用的折衷方案。

关于linux - Bitbake 构建占用更多空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39953304/

相关文章:

c - linux cp命令实现复制多个文件到一个目录

linux - 复制的 bash 脚本文件,文件名中有附加字符

linux - Bash:格式化 printf 中的字符串

linux - Python ImportError no module named statistics 下载后

continuous-integration - 有哪些工具可以帮助将各种软件元素收集到完整的软件版本中?

ios - xamarin 表单 ios 版本构建挂起

linux - Yocto poky构建在函数do_rootfs上失败

iis - 让 TFS 2010 构建服务器发布到同一文件夹并覆盖

yocto - 在 yocto 中添加新配方

yocto - 如何在 do_deploy() 之后添加任务?