> On 02 November 2017 at 16:29 Alexander Kanavin 
> <alexander.kana...@linux.intel.com> wrote:
> 
> On 11/02/2017 06:26 PM, Colin Helliwell wrote:
> 
> > Following on from this, I'm trying to be able to build my two versions of 
> > u-boot, in the *same* build directory.
> > I'm not sure if this is possible, but I figured it might be: since u-boot 
> > doesn't get put into the rootfs (?), I would ideally be able to build both 
> > and just pull down from tmp/deploy/images/.... the image that I want to 
> > program into a particular unit.
> > I've pushed common stuff into .inc file(s), and have two recipes which set 
> > different 'PROVIDES' values.
> > However, even after a cleanall on both recipes, bitbaking the second one 
> > throws an error "The recipe u-boot-mymachine-dev is trying to install files 
> > into a shared area when those files already exist".
> 
> Can you share exactly how the two recipes differ?
>

Very little!
One is:
 
DESCRIPTION = "Das U-Boot for W2 [for development]"
DEP_IMG = "u-boot-dev"
PROVIDES = "u-boot-w2-dev"
require u-boot-w2_1.inc

The other is:

DESCRIPTION = "Das U-Boot for W2"
DEP_IMG = "u-boot-prodn"
PROVIDES = "u-boot-w2"
require u-boot-w2_1.inc

u-boot-w2_1.inc has the standard kind of recipe stuff. For creating env files, 
and files to be used for later signing, it has some _append steps, so I'm 
aiming to use 'DEP_IMG' to create the various files with different prefixes for 
the two variants.
Strangely though, an 'echo ${DEP_IMG}' is outputting the same value 
("u-boot-prodn") from both recipes, even after a cleanall on both. Possibly 
some state info being pulled in somewhere?

> It seems that you do need to have two different build directories that
> differ in what MACHINE is set to. And that would configure u-boot
> accordingly.
> 

I *do* realise I'm trying to do something a bit unusual!
All I want between the two variants is to disable some functionality - the 
'machine' is identical. I was going to patch one build to take the 
functionality out (for 'production'), but create my own specific environment 
for the system anyway. So I wonder if a cleaner/easier (aka working...!) 
approach would be to instead patch my own custom envar into the source, and 
then I could instead create two different env files for the two variants?
-- 
_______________________________________________
yocto mailing list
yocto@yoctoproject.org
https://lists.yoctoproject.org/listinfo/yocto

Reply via email to