All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mike Looijmans <mike.looijmans@topic.nl>
To: Khem Raj <raj.khem@gmail.com>, John Ernberg <john.ernberg@actia.se>
Cc: "yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: Deploying 2 machines, u-boot does not include with both.
Date: Mon, 17 Aug 2015 08:44:07 +0200	[thread overview]
Message-ID: <55D182B7.70700@topic.nl> (raw)
In-Reply-To: <7F6CA5E4-057A-4CFB-B4AE-F2F65A565A8D@gmail.com>

On 16-08-15 09:39, Khem Raj wrote:
>
>> 

Kind regards,

Mike Looijmans
System Expert

TOPIC Embedded Products
Eindhovenseweg 32-C, NL-5683 KH Best
Postbus 440, NL-5680 AK Best
Telefoon: +31 (0) 499 33 69 79
Telefax: +31 (0) 499 33 69 70
E-mail: mike.looijmans@topicproducts.com
Website: www.topicproducts.com

Please consider the environment before printing this e-mail





On Jun 24, 2015, at 1:53 AM, John Ernberg <john.ernberg@actia.se> wrote:
>>
>> Hi
>>
>> This is a weird one that I have been researching for a while trying to
>> figure out how this can happen.
>> We recently had to extend our targets with another machine, they have
>> the same core CPU architecture, but we provide different configurations
>> of the kernel for them. Along with some IMAGE_INSTALL changes.
>>
>> Since very little needs to be rebuilt, and the only thing needed to
>> change target machine is to edit the MACHINE variable, we chose to build
>> the images using the same build directory.
>>
>> This means we set the MACHINE variable to machine_A. run bitbake
>> [machine_A_image], change the MACHINE variable to machine_B, and then
>> run bitbake [machine_B_image].
>>
>> Here is when the weird happens. After machine_A has built, we can find
>> everything we expect to find in the machine_A image deploy directory.
>> When we change the MACHINE variable and build machine_B, we find that
>> the u-boot image from the machine_A directory has disappeared.
>> Depending on build machine it has moved into the machine_B directory, in
>> addition to u-boot image for machine_B being present in this directory,
>> OR it has just been removed.
>> Changing back to building machine_A, the u-boot(s) are removed from the
>> machine_B directory, and the machine_A u-boot will show up in the
>> machine_A directo
>>
>> What could be at play here to cause such a strange behaviour? How can I
>> debug such a behaviour? I could not find anything on Google regarding
>> this, nor anything in the logs generated by bitbake.
>>
>
> u-boot is machine specific package so in theory, it should have rebuilt for each of your target machines
> and deploy images directory is also per machine so there should be no conflicts at all, unless you modify
> the u-boot recipes such that they are made to be SOC family specific or some other voodoo, share your configurations
> and recipes to get clear picture and may be something can come out.
>

This happens to any recipe that is built for multiple machines, e.g. the 
kernel as well if it is shared between machines. Somewhere in the early tasks, 
the recipe just blatantly removes the last build, and then starts running 
anew, ignoring that the output of that build was not located in the current 
machine's path. I think it will happen to anything that is deployed but is not 
specific to one machine. It will even happen to a rootfs if you share that 
between machines.

The only 'solution' I found for this problem is to copy the resulting binaries 
to yet another location after building them. Then bitbake can't reach them.

The proper thing to do here would be to have ARCH specific deploy paths 
instead of MACHINE specific. Some symlinks in the MACHINE path would take care 
of backward compatibility.

I had a discussion about this problem on the oe-core list about a year ago 
when I bumped into the same problem you describe here.


      reply	other threads:[~2015-08-17  7:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-24  8:53 Deploying 2 machines, u-boot does not include with both John Ernberg
2015-08-16  7:39 ` Khem Raj
2015-08-17  6:44   ` Mike Looijmans [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=55D182B7.70700@topic.nl \
    --to=mike.looijmans@topic.nl \
    --cc=john.ernberg@actia.se \
    --cc=raj.khem@gmail.com \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.