Hi Qiang,

It's possible that you are using (or might use) different layer configurations for different builds.
One build might have a bbappend file that another build doesn't need.
Also, different builds may have different DISTRO_FEATURES.
Thus, having different deploy directories is better. Otherwise, your package feeds might be broken. And you would suffer trying to maintain it.

If space is a concern for you, inherit 'rm_work' in local.conf.

INHERIT += "rm_work"

Best Regards,
Chen Qi

On 12/01/2014 11:01 AM, Qiang Yu wrote:
Hi Chen Qi,

Thanks for your suggestion. 

I mean the tmp/deploy/ipk dir will have one copy each build dir. And two boards of the same SOC will
share most of them, so the disk space of the tmp/deploy/ipk part is wasted.

Regards,
Qiang


On Mon, Dec 1, 2014 at 10:01 AM, ChenQi <Qi.Chen@windriver.com> wrote:
Sharing sstate is safe and efficient.
sstate does not contain any package.

Regards,
Chen Qi


On 11/30/2014 10:28 PM, Qiang Yu wrote:
Why share the sstate? Does it contain previously build ipk packages in other build directories for reuse?

Regards,
Qiang

On Sun, Nov 30, 2014 at 4:03 PM, ChenQi <Qi.Chen@windriver.com> wrote:
I would suggest to use separate build directories but let these builds to share downloads and sstate.

Regards,
Chen Qi


On 11/30/2014 12:49 PM, Qiang Yu wrote:
Hi all,

I'm maintaining a Yocto build system to produce these outputs:

1. ARM SOC 1
  1). board 1 image
  2). board 2 image
  3). SDK for i686
  4). SDK for x86_64
2. ARM SOC 2
  1). board 3 image
  2). board 4 image
  3). SDK for i686
  4). SDK for x86_64

Now I don't know the right way to create build directories for these builds. The simplest way 
I think is creating one build directory for each of these builds. But it wast resource for boards 
with the same SOC which can share cross toolchain. And ARM SOC 1 and ARM SOC 2 use 
different conf/bblayers.conf to add different BSP layer, I need to modify it when switch SOC. 
So the right way is creating one build directory for each SOC, then bitbake each output's recipe, 
right?

I am also not sure if I can put the SDK and board image in the same build directory. Because 
once I build a board's image after creating its SDK, I add gdbserver to it, but the build fail without 
really building the gdbserver package. So I guess the board image build is confused by the SDK 
build state.

So the conclusion is I need a recommended way to separate output into different build directories:
1. minimize rebuild shared packages
2. no build state corruption
3. if multi output in the same build dir, no change to conf/ files or an easy way to switch between

Regards,
Qiang





--
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto