How to manage disk space while working with Yocto?


Sourabh Hegde
 

Hello All,

I am using Yocto for one of my project. I know that Yocto needs a good amount of disk space for build activities. And also I am working as non-root user in Ubuntu 20.04. But I often run into space issues during build.

WARNING: The free space of [...]/tmp-glibc (overlay) is running low (0.555GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!
WARNING: The free space of [...]/downloads (overlay) is running low (0.555GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!
WARNING: The free space of [...]/sstate-cache (overlay) is running low (0.555GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!


I have tried deleting $TMPDIR (build/tmp)$SSTATE_DIR (build/sstate-cache)$DL_DIR (build/downloads). But these things didn't help me.

Is there any way to allocate more space to user in Ubuntu? And also what is the best practice for space usage while working with Yocto?

Can anyone please let me know how to resolve this issue?

Your help will be much appreciated.

Thanks in advance.

P.S: I working with Yocto "Honister" release. Please let me know if any info is missing here.


Mikko Rapeli
 

Hi,

On Wed, Mar 16, 2022 at 12:54:14AM -0700, Sourabh Hegde wrote:
Hello All,

I am using Yocto for one of my project. I know that Yocto needs a good amount of disk space for build activities. And also I am working as non-root user in Ubuntu 20.04. But I often run into space issues during build.

WARNING: The free space of [...]/tmp-glibc (overlay) is running low (0.555GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!
WARNING: The free space of [...]/downloads (overlay) is running low (0.555GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!
WARNING: The free space of [...]/sstate-cache (overlay) is running low (0.555GB left)
ERROR: No new tasks can be executed since the disk space monitor action is "STOPTASKS"!

I have tried deleting $TMPDIR (build/tmp) , $SSTATE_DIR (build/sstate-cache) , $DL_DIR (build/downloads). But these things didn't help me.

Is there any way to allocate more space to user in Ubuntu? And also what is the best practice for space usage while working with Yocto?

Can anyone please let me know how to resolve this issue?

Your help will be much appreciated.
This is a common problem. I run to this almost weekly basis doing a lot yocto compiles
on my developer machine.

Solution for me is to manually check before compiling that I still have
100's gigabytes of diskspace free. If not, I will delete first build/tmp
directories. If that doesn't give me enough free space, I sometimes need to
delete the whole build directory which includes the sstate cache directories.
In worst case I need to delete also the download cache directories which
in my case lives outside of build directories.

On CI build servers I start every build by cleaning the build directory but I do
preserve the sstate cache, cache directory (prserv database from previous release),
and download cache. Size of the caches on each CI server is monitored separately.

Hope this helps,

-Mikko


Manuel Wagesreither
 

Am Mi, 16. Mär 2022, um 08:54, schrieb Sourabh Hegde:
I have tried deleting $TMPDIR (build/tmp)$SSTATE_DIR (build/sstate-cache)$DL_DIR (build/downloads). But these things didn't help me.

These directories are crucial for a yocto build and they will get recreated if not existing. Deleting them does nothing besides prolonging the build process.

You could try putting `INHERIT += "rm_work"` in the build/conf/local.conf. It will delete the work directories at build completition. I just don't know if they get deleted when building of the individual package is finished (which would be good for you), or after completition of the complete build. (That would be too late for you, as you already ran out of disk space then.)

Regards, Manuel


Alexander Kanavin
 

On Wed, 16 Mar 2022 at 10:13, Manuel Wagesreither <ManWag@...> wrote:
I have tried deleting $TMPDIR (build/tmp), $SSTATE_DIR (build/sstate-cache), $DL_DIR (build/downloads). But these things didn't help me.


These directories are crucial for a yocto build and they will get recreated if not existing. Deleting them does nothing besides prolonging the build process.
Only the last two. Deleting tmp/ does help as then any needed binary
items will be taken from sstate cache instead of being unpacked from
source and rebuilt.

Alex


Sourabh Hegde
 

Hello,

Thanks for the update.

Even after deleting build/tmp and build/sstate-cache and setting `INHERIT += "rm_work"` in the build/conf/local.conf.
But still I am facing same issue.

Is there any way to allocate more space to user in ubuntu?

I don't have any CI build servers.


Alexander Kanavin
 

On Wed, 16 Mar 2022 at 11:32, Sourabh Hegde <hrsourabh011@...> wrote:
Even after deleting build/tmp and build/sstate-cache and setting `INHERIT += "rm_work"` in the build/conf/local.conf.
But still I am facing same issue.

Is there any way to allocate more space to user in ubuntu?

I don't have any CI build servers.
Can you show the output of 'df' please?

Alex


Sourabh Hegde
 

Hi Alex,

Below is the output of "df":


Alexander Kanavin
 

Are you running in a virtual machine of some kind? It's better to get a real linux computer. Otherwise you need to check how to allocate more disk space to the virtual machine from the host.

Alex


On Wed, 16 Mar 2022 at 11:57, Sourabh Hegde <hrsourabh011@...> wrote:
Hi Alex,

Below is the output of "df":





Sourabh Hegde
 

Are you running in a virtual machine of some kind? It's better to get a real linux computer. 
Yes, I am building Yocto inside docker containers. But previously, I did not face this issue with docker container.