[yocto] How to specify a different kernel for an image

Patrick Doyle wpdster at gmail.com
Fri Jul 19 05:48:55 PDT 2019


On Fri, Jul 19, 2019 at 1:58 AM Gabriele Zampieri
<gabbla.malist at gmail.com> wrote:
>
> Hi,
>
> you could define two machines, where the manufacturing one is just an overlay of the production one. If the two kernels differs only for their config, you can specify different defconfig based on machine. If you need a completely different kernel, just specify  PREFERRED_PROVIDER_virtual/kernel in manufacturing overlay

Hi Gabriele,
I wondered about that, but I get confused about the MACHINE concept in
Yocto/OE/bitbake...

1. If I define a new machine, but I have a lot of recipes conditioned
on the old machine, how do I say "This is the same as machine A, but
with these differences"?  I have defined a machine now ("mymachine")
and have recipes and .bbappend files with things like this in them:

SRC_URI_mymachine += "file:/blah/blah/blah"
do_install_append_mymachine() {
  do_stuff()
}

Do I have to replicate (and maintain) all of the references to
mymachine to also refer to my newly defined "installationmachine"?  Or
can I tell Bitbake that "installationmachine" is the same as
"mymachine", and just add/change new stuff for "installationmachine"?

I hope my confusion here makes sense, but since it's confusion, it's
tough to tell :-)

2. My new image going to be used as an installation image for my
production image.  So I need to include the production image (for
MACHINE="mymachine")) deploy products in the image for my installation
image.  How can I do that if I define a new MACHINE for the production
image?

Thank you so much for the suggestion... it confirms that I am looking
in the right places and thinking about the right things... I just
don't know how to solve this problem.

I'm also surprised that it's not a more general problem... which leads
me to believe that I must be thinking about this the wrong way.

Thanks again.

--wpd


More information about the yocto mailing list