2016-10-10 10 views
2

최근 Yocto 빌드를 위해 Bitbake를 사용하기 시작했습니다. 빌드 할 때마다 더 많은 공간을 소비하고 현재는 디스크 공간이 부족합니다. 이미지를 덮어 쓰지 않습니다. 타임 스탬프가있는 새 파일 세트가 모든 빌드에 대해 생성됩니다. build/tmp/deploy/images /에서 이전 파일을 삭제했습니다. 그러나 디스크 여유 공간에 큰 차이는 없습니다. 물건을 삭제할 수있는 다른 위치가 있습니까?Bitbake 빌드가 더 많은 공간을 사용합니다.

내가 빌드하는 동안 관찰 오류 :

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"! 

이 친절하게이 문제를 방지하기 위해 몇 가지 포인터를 제안한다.

답변

4

효과의 순서와 방법을 쉽게 수정이에서 :

  • 주문 더 많은 디스크 공간 : 자신의 SSD에 $ TMPDIR 퍼팅은 많은 도움과 세세한 할 필요가 없습니다.
  • $ TMPDIR (빌드/tmp) : 삭제 현재 빌드하지 않은 MACHINE에 대한 오래된 이미지, 이전 패키지 및 작업 디렉토리/sysroots가 누적되어 상당히 많은 공간을 차지할 수 있습니다. 일반적으로 $ TMPDIR 전체를 한 번 삭제할 수 있습니다. sstate-cache를 사용하는 한 다음 빌드는 여전히 빠릅니다.
  • 삭제 $ SSTATE_DIR (빌드/상태 - 캐시) : 많은 빌드를 수행하면 sstate 자체가 시간이 지남에 따라 누적됩니다. 디렉토리를 삭제하는 것은 안전하지만 다음 빌드는 모든 것이 다시 빌드되기 때문에 오랜 시간이 걸릴 것입니다.
  • $ DL_DIR (빌드/다운로드) 삭제 : 오랜 시간 동안 빌드 디렉토리를 사용하면 (마스터에서 업데이트를 가져 오거나 최신 분기로 변경하는 동안) 오래된 다운로드는 디스크 공간을 계속 사용합니다. 디렉토리를 삭제하면 모든 것을 다시 다운로드한다는 것을 명심하십시오. 가장 큰 파일 만보고 오래된 버전을 삭제하는 것이 유용한 절충안입니다.
+0

고맙습니다. tempdir 자체를 삭제하는 것은 대략 32GB를 풀었다 !!! 그리고 빌드 타임에는 변화가 없었습니다! – Gomu

+1

삭제 경로를 추락하는 경우 프로젝트 구성 파일에'INHERIT + = "rm_work"를 추가 할 수도 있습니다. 이 명령문을 추가하면 래서 피 생성 후 래서 피 생성에 사용되는 작업 디렉토리가 삭제됩니다. – Tanner