[meta-freescale] [meta-fsl-arm PATCH v2 00/16] Machine overrides extender - reduce code duplication

Otavio Salvador otavio.salvador at ossystems.com.br
Fri Sep 2 11:55:01 PDT 2016


On Fri, Sep 2, 2016 at 11:46 AM, Tom Hochstein <tom.hochstein at nxp.com> wrote:
>> From: Otavio Salvador [mailto:otavio.salvador at ossystems.com.br]
>> Sent: Friday, September 02, 2016 5:13 AM
>
>> It should be possible indeed however, thinking about it, I think using
>> overrides offers an easier to use mechanism.
>
> It's shorter, but I don't see the difference in syntax as a problem. The 'bb.utils.contains('*FEATURES'' is an existing idiom.
>
> The way I see it is the Yocto framework has a high level construct of machines and a finer grained mechanism for specifying the features supported by a machine.
>
> What you are proposing is to take our list of i.MX-specific 'items' and add them through an extension of the machine mechanism. The downside of this is it dilutes the existing Yocto framework, and makes it harder to understand.
>
> On the other hand, it seems correct to just treat these 'items' as machine features, with no changes to the existing Yocto framework required. Furthermore, by implementing this as a set of machine features, we gain the existing capabilities of the framework, mainly that the user can choose to not use an i.MX machine feature even if it is on his SOC. (See the COMBINED_FEATURES variable.)
>
>> Another benefit is that with the extender, we define the features on a
>> single place (imx-base.inc) and every board using the respective SoC
>> will use it. For machine features we would need to set it in every
>> board which is easy to get wrong.
>
> We would need an extra require line from each machine configuration file to specify the SOC configuration. This line replaces the proposed MACHINEOVERRIDES line in the machine configuration file, and so it is no easier to get wrong.

The MACHINE_FEATURES including that kind of information will have a
huge impact on the number of machine specific package. In summary we
would not be able to share the binaries across different machines of
same SoC. Currently we share the Q, DL binaries as they are binary
compatible however if this could change on the board we would need to
make they are machine specific (Qt, Chromium, GStreamer, ...)

-- 
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


More information about the meta-freescale mailing list