On Mon, Oct 20, 2014 at 10:40 AM, Mike Looijmans <[email protected]> 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?
We did something similar in meta-fsl-arm, check: http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/classes/fsl-dynamic-packagearch.bbclass http://git.yoctoproject.org/cgit/cgit.cgi/meta-fsl-arm/tree/conf/machine/include/imx-base.inc#n41 This should be easy to adapt for your specific case. -- Otavio Salvador O.S. Systems http://www.ossystems.com.br http://code.ossystems.com.br Mobile: +55 (53) 9981-7854 Mobile: +1 (347) 903-9750 -- _______________________________________________ Openembedded-core mailing list [email protected] http://lists.openembedded.org/mailman/listinfo/openembedded-core
