Enable sstate cache: Difference between revisions
Line 20: | Line 20: | ||
You can make all the builds pointing to the same SSTATE_DIR to share sstate files between them, like this: | You can make all the builds pointing to the same SSTATE_DIR to share sstate files between them, like this: | ||
SSTATE_DIR ?= " | SSTATE_DIR ?= "/share/sstate-cache | ||
So that each build would consume the sstate file if match, and produce new sstate file if not match. | So that each build would consume the sstate file if match, and produce new sstate file if not match. | ||
'''Pls. do not start multiple builds at one time, as race condition issue''' | '''Pls. do not start multiple builds at one time, as race condition issue''' |
Revision as of 14:16, 17 February 2011
sstate background
To speed up the build process, sstate provides a cache mechanism, where sstate files from server can be reused to avoid build from scratch if the producer and consumer of the sstate has same environment. With perfect case, we can achieve more than 80% time decreasing.
use sstate cache server
Another build machine is needed to produce the sstate file periodically. The default sstate files directory is sstate-cache under build dir, which is needed to be exported via NFS, http or ftp server.
On your local machine, change the conf/local.conf as following:
SSTATE_MIRRORS ?= "\ file://.* http://someserver.tld/share/sstate/"
for NFS server
SSTATE_MIRRORS ?= "\ file://.* file:///local/mounted/dir/sstate/"
Use local sstate cache
You can make all the builds pointing to the same SSTATE_DIR to share sstate files between them, like this:
SSTATE_DIR ?= "/share/sstate-cache
So that each build would consume the sstate file if match, and produce new sstate file if not match.
Pls. do not start multiple builds at one time, as race condition issue