Hi Martin,

> -----Original Message-----
> From: [email protected] [mailto:meta-xilinx-
> [email protected]] On Behalf Of Martin Lund
> Sent: Tuesday, May 15, 2018 7:31 AM
> To: [email protected]
> Subject: [meta-xilinx] Xilinx, why are you breaking the meta-xilinx-bsp layer?
> 
> Hi Xilinx and friends,
> 
> 
> 
> 
> What is going on with the meta-xilinx-bsp layer in the v2018.1 release?
> 
> 
> 
> 
> 
> 
> 
> We are trying to put together a system built on top of the meta-xilinx-bsp 
> layer
> and we have done so successfully up until the v2017.4 release with a few 
> helpful
> patches from this excellent community. That is, we have been able to create 
> our
> system without using the meta-xilinx-tools and meta-petalinux layers. Meaning
> meta-xilinx-bsp has offered a fairly independent and functional BSP layer, in 
> our
> case, for the zcu102 dev board.

I am not sure how you achieved to build pmu firmware in OSS/OSL flow, using a 
rel-v2017.4 branch.
https://github.com/Xilinx/meta-xilinx/tree/rel-v2017.4/recipes-bsp
There was no recipe available to build one nor support to build SPL.

> 
> 
> 
> 
> However, with the introduction of Xilinx release v2018.1 it seems some basic 
> BSP
> things are broken or split out and moved to the meta-xilinx-tools or meta-
> petalinux for no apparent good reason - basically breaking the independence of
> the meta-xilinx-bsp layer. Up until this point we are still struggling to get 
> meta-
> xilinx-bsp booting on our zcu102 board.
> 
> 

Release branches in github is very specific for Xilinx tool release. Meaning 
all the rel-v2018.x are supposed to work with the layer stack (meta-petalinux, 
meta-xilinx-tools, meta-xilinx-bsp and meta-xilinx-contrib). This is the same 
practice which has been done since 2017. If you see older releases like 
rel-v2017.1, SPL support, certain board support code is not present in release 
branches.

Please see
https://lists.yoctoproject.org/pipermail/meta-xilinx/2016-October/002174.html

Saying that, 2018.2 release branch will be fixed to include u-boot-mkimage, and 
fw-utils.
This will be pushed mid-june.

One more thing to add, Xilinx release branches works on top of a previous 
version of the available Yocto release.
Meaning rel-v2018.1 (and rest of rel-v2018.x ) is based on rocko branch of 
meta-xilinx-bsp.
rel-v2019.1 will be based on thud (v2.6) branch of meta-xilinx-bsp etc

We don't change any of the OSS/OSL flow related recipes in the Xilinx tool 
related releases.

> 
> 
> 
> 
> 
> 
> For example, instead of putting updated versions of u-boot-fw-utils, u-boot-
> mkimage, and u-boot-common in meta-xilinx-bsp (see
> https://github.com/Xilinx/meta-xilinx/tree/rel-v2018.1/meta-xilinx-bsp/recipes-
> bsp/u-boot 
> <https://github.com/Xilinx/meta-xilinx/tree/rel-v2018.1/meta-xilinx-
> bsp/recipes-bsp/u-boot> ) they have been placed in meta-petalinux (see
> https://github.com/Xilinx/meta-petalinux/tree/rel-v2018.1/recipes-bsp/u-boot
> <https://github.com/Xilinx/meta-petalinux/tree/rel-v2018.1/recipes-bsp/u-boot>
> ). Having an up-to-date u-boot-mkimage is important for producing valid
> bootloader images so one would assume it to belong in the primary BSP layer,
> namely meta-xilinx-bsp. Perhaps I'm missing something here but I don't see any
> good reason for putting these in meta-petalinux.
> 

Same as the above point on how to use release branches.


> 
> 
> 
> 
> 
> Another more important example is the omission of an updated pmu-firmware in
> meta-xilinx-bsp for the v2018.1 release. A simple and straightforward way of
> building the pmu-firmware used to reside in meta-xilinx-bsp (see
> https://github.com/Xilinx/meta-xilinx/tree/rel-v2018.1/meta-xilinx-bsp/recipes-
> bsp/pmu-firmware <https://github.com/Xilinx/meta-xilinx/tree/rel-v2018.1/meta-
> xilinx-bsp/recipes-bsp/pmu-firmware> ) but now a new way of building the pmu-
> firmware has been introduced/forced in meta-xilinx-tools (see
> https://github.com/Xilinx/meta-xilinx-tools/tree/rel-v2018.1/recipes-bsp/pmu-
> firmware).

Using xsct to build pmu-firmware is not new, this layer and recipes has been 
introduced probably in 2016 timeframe.


 As mentioned in https://lists.yoctoproject.org/pipermail/meta-
> xilinx/2018-May/003809.html, this new approach uses all the spokes and wheels
> of the proprietary xilinx toolchain involving all sorts of cumbersome tools 
> and
> components (xsdk, X/gtk3, xsct, tcl, yaml, etc.) which makes it quite 
> troublesome
> to deploy on common build servers. I can't understand why Xilinx thinks it is 
> a
> good idea to go down this route. They take something simple and make it
> complicated, much slower, and storage demanding. Additionally, what makes
> matters even worse is that the build definition for is pmu-firmware is 
> actually
> placed in a bbclass (see https://github.com/Xilinx/meta-xilinx-tools/blob/rel-
> v2018.1/classes/xsctapp.bbclass <https://github.com/Xilinx/meta-xilinx-
> tools/blob/rel-v2018.1/classes/xsctapp.bbclass> ) but it really belongs in 
> the pmu-
> firmware_*.bb file. Either way, the end result is that if one is using only 
> the
> v2018.1 meta-xilinx-bsp layer then the old v2017.3 pmu-firmware is built which
> does not seem to be compatible with v2018.1 atf, u-boot, kernel etc.
>

Same as the above, recipes are tied together with the above mentioned layers 
for release branches.

> 
> 
> 
> 
> 
> 
> 
> Seen from the outside, it all seems like a bit of a mess.

Xilinx tools release cannot be independent, the workflow is different.
If you continue to use rel-v2018 (release branches), then the recommendation is 
to use all layers.
If you use yocto based release branches (rocko, pyro, etc), meta-xilinx-bsp 
should fairly work.

Look out for patches that are being posted for sumo branch.

> 
> 
> 
> 
> 
> 
> 
> 
> From https://github.com/Xilinx/meta-
> xilinx/commit/a18947c20dba2c0c38db8bde1ad4684995df4bbd
> <https://github.com/Xilinx/meta-
> xilinx/commit/a18947c20dba2c0c38db8bde1ad4684995df4bbd>  I see that Xilinx
> is restructuring meta-xilinx into the following 4 layers:
> 
> 
>   ->meta-xilinx-bsp
>   ->meta-petalinux
>   ->meta-xilinx-tools
>   ->meta-xilinx-contrib
> 
> Which sounds perfectly fine.
> 
> My only wish is for Xilinx to keep a clear split between the layers. In 
> particular,
> keep meta-xilinx-bsp an independent layer which can be used to build a basic
> bootable system without the need for meta-xilinx-tools or meta-petalinux!
>

The Xilinx tool releases rely on having all the layers not one single layer. 
The yocto releases that we make for example like rocko, pyro, krogoth etc are 
supposed to work with OSL flows. 

We have been sending patches to mailing list to update the meta-xilinx-bsp 
master for Sumo release, this will include newer kernel etc
 
> I understand that Xilinx only tests meta-petalinux in combination with the 
> rest but
> I really want to make a plea for Xilinx to also start testing meta-xilinx-bsp 
> in the
> aim to keep it independent and functional.
> 

Xilinx tools release cannot be independent, the workflow is different and needs 
all the layers.
If you continue to use rel-v2018 (release branches), then the recommendation is 
to use all layers.
If you use yocto based release branches, meta-xilinx-bsp should fairly work ( 
except master as changes to OE-Core master might cause breakages)

> If what we see is intentional and if Xilinix continues the current path of 
> adding
> inter-dependencies between the layers then Xilinx might as well collapse
> everything into one single layer and call it meta-petalinux and force that 
> upon all
> their customers. I think Xilinx would be wise to offer more choices to it's
> customers than simply that.

The plan to collapse all layers under meta-xilinx is proposed, and the first 
step of splitting has happened. 
We will continue to make all the necessary changes to have all layers under 
meta-xilinx later this year.
There are certain dependencies which needs to be addressed before having 
meta-petalinux in meta-xilinx umbrella.
We are working with OE-core to resolve some of these depedencies
https://lists.yoctoproject.org/pipermail/meta-xilinx/2017-November/003309.html


Thanks,
Manju

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

Reply via email to