[meta-xilinx] [RFC] Meta-Xilinx Changes

Alejandro Hernandez alejandro.enedino.hernandez-samaniego at xilinx.com
Tue Sep 25 07:49:30 PDT 2018


Hello all,

There have been some changes in upstream over the past few months and 
this email intends to inform you all, of how these will impact the 
meta-xilinx layer, while most of these changes should be transparent to 
the users, this will explain what the underlying functionality looks like.

The newlib and libgloss recipes will be dropped from meta-xilinx, they 
will be replaced with bbappends to simply extend their functionality for 
XIlinx devices, the recipes have been upstreamed, they are both now in 
openembedded-core, along with a new TCLIBC variant "newlib" to be able 
to build a system which makes use of them both.

Currently as you may be aware, we are using these to build 
baremetal/standalone components, we are using a multilib workaround to 
be able to use different toolchains for specific components of the 
system (when we're not using the meta-xilinx-tools layer, e.g. xsct), 
this functionality will be dropped in the near future, in favor of using 
a better way with the upstreamed components I mentioned before, taking 
advantage of the multiconfig features of Yocto(not the same as multilib).

For this to work, there has also been an effort to upstream new 
functionality into Yocto/OE that would allow us to depend on components 
from different multiconfigs, that in this case use different toolchains, 
meaning that we will now be able to create a working image, from which 
all of its userspace (and kernel) components have been built with the 
Linux toolchain, and depend on standalone components that have been 
built with a standalone toolchain, e.g. pmu-firmware.

A new layer "meta-xilinx-standalone" will be created inside the 
meta-xilinx repo which contains most of was previously mentioned, in a 
few words it will contain a standalone DISTRO, that will build the 
standalone components, separately from the Linux components.

To use the multiconfig features, there will now be three "local.conf" 
files, which may appear confusing at first, but they are merely 
separating each configuration correctly: the main one which will be only 
used to specify the name of the two multiconfigs that will be used 
during the build, and there will also be one conf file for each of these 
multiconfigs, as mentioned before one of this files will configure the 
Linux build and the other one will configure the standalone build, it 
will look something like this:


build/

   conf/local.conf - Contains the name of each multiconfig, for example 
"standalone" and "linux".

   conf/multiconf/standalone.conf - Contains the configuration for 
Standalone components.

   conf/multiconf/linux.conf - Contains the configuration for Linux 
components.


For more information on the multiconfig features please see: 
Multiconfiguration Builds 
<https://www.yoctoproject.org/docs/latest/mega-manual/mega-manual.html#dev-building-images-for-multiple-targets-using-multiple-configurations> 
on the Yocto Project manual.


As mentioned before, most of these changes should be transparent to the 
users, and they will be gradually pushed into the layers.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.yoctoproject.org/pipermail/meta-xilinx/attachments/20180925/7bcb6918/attachment.html>


More information about the meta-xilinx mailing list