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.

-- 
_______________________________________________
meta-xilinx mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-xilinx

Reply via email to