[OE-core] Why does building an image for machine X delete the bootloader for machine Y?

Paul Eggleton paul.eggleton at linux.intel.com
Wed Nov 26 11:31:49 UTC 2014


Hi Mike,

On Wednesday 26 November 2014 09:19:13 Mike Looijmans wrote:
> I do a:
> 
> MACHINE=X bitbake my-image
> 
> This DEPENDS on a virtual bootloader, which will produce a BOOT.BIN file in
> the deploy directory, which is tmp-glibc/deploy.images/X/
> 
> If I then do a:
> 
> MACHINE=Y bitbake my-image
> 
> the BOOT.BIN in tmp-glibc/deploy.images/X/ is suddenly gone!
> 
> If i do a
> 
> MACHINE=X bitbake my-image
> 
> then the the BOOT.BIN in tmp-glibc/deploy.images/Y/ is suddenly gone, and
> the one for the X machine appears again. The bootloader recipe is not being
> rebuilt at all.
> 
> The machines have the same MACHINE_ARCH, they differ on only minor points
> (the FPGA).
> 
> What is going on here?

I can't be sure, but my guess is the recipe is not marked as being machine-
specific (i.e. PACKAGE_ARCH is not set to "${MACHINE_ARCH}" - is that the 
case?) but there is still some variable dependency on a variable that has a 
machine-specific value. If it's not obvious from the recipe, check if there are 
two sets of tasks for the bootloader recipe in the sstate cache, and then use 
bitbake-diffsigs to compare the sigdata/siginfo files.

Cheers,
Paul

-- 

Paul Eggleton
Intel Open Source Technology Centre



More information about the Openembedded-core mailing list