[OE-core] Going beyond MACHINE?

Richard Purdie richard.purdie at linuxfoundation.org
Mon Oct 20 15:23:55 UTC 2014


On Mon, 2014-10-20 at 14:40 +0200, Mike Looijmans wrote:
> On 10/20/2014 02:04 PM, Richard Purdie wrote:
> > On Mon, 2014-10-20 at 13:55 +0200, Mike Looijmans wrote:
> >> The short version of my question: Can I define a "level" that goes beyond MACHINE?
> >>
> >> My problem in detail (and I suspect there are more systems with similar problems):
> >>
> >> I have an SOC called "topic-miami". There are currently two variants: The 7015
> >> and 7030. They are identical but for one component: They have a different FPGA
> >> part (the 7030 is bigger and faster).
> >> Both run exactly the same kernel and bootloader, and all other software and
> >> libraries are exactly the same.
> >>
> >> Currently I have MACHINE="topic-miami-7015" and then SOC_FAMILY="topic-miami"
> >> so I can use "topic-miami" as override word for all packages.
> >>
> >> However, this means I get two kernels, two bootloaders, etc. even though they
> >> are exactly the same.
> >>
> >> The only package that currently differs is the one that delivers the
> >> bitstream(s) for the FPGA. These are big, too big to fit bitstreams for both
> >> models into flash and leave room for applications, so just installing both
> >> into the rootfs and pick the correct one at boot time is not really an option.
> >>
> >> Maybe I could define some extra PACKAGE_ARCH for the bitstreams (which make
> >> sense, as this is sort of firmware for a different platform). But how would a
> >> user then pick the right value for this variable, since MACHINE seems to be
> >> the only thing he can really choose?
> >>
> >> Any thoughts and ideas are welcome...
> >
> > One possible solution would be to inject another PACKAGE_ARCH (as the
> > intel gmgd graphics does for example), then mark the MACHINE specific
> > packages as being that package architecture. They'd then only get built
> > once per package architecture yet your bitstreams would still be machine
> > specific. You could probably do the "remarking" using anonymous python
> > injected at the machine level.
> 
> Sounds doable, but I can't find anything about "intel gmgd" in any layer. 
> Which machine are you referring to here?

Sorry, emgd:

http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/tree/classes/emgd-gl.bbclass?h=daisy
http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/tree/conf/machine/include/meta-intel-emgd.inc?h=daisy

I have actually sent Scott some text for the manual about this but its
not been edited yet.

Cheers,

Richard




More information about the Openembedded-core mailing list