cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
joe4702
Contributor
Contributor
376 Views
Registered: ‎08-21-2012

OSL Build Flow is Not Really Supported Anymore?

We have been using OSL build flow since around 2015.x to build u-boot, the Linux kernel, Linux device tree and the file system.

For the latter, we have always used Buildroot.

We are in the process of upgrading to Xilinx 2020.2 to support the Gen3 RFSoC. It appears the Xilinx toolchain is no longer useable by Buildroot.

I can get Buildroot to accept the Xilinx toolchain after applying the "missing static libraries" patch:

AR# 75591: Vitis 2020.1 - Static libraries are not part of the compiler toolchains (xilinx.com)).

However, most of the toolchain binaries are now scripts which call the actual gcc binaries. This doesn't seem to be compatible with Buildroot and causes build errors. So far, I have not found a good fix.

The Xilinx Wiki page dated 10/2020 claims OSL flow is still supported, and the subpage which discusses how to generate a file system mentions BuildRoot as one method -  "To create an initrd from scratch, tools such as Buildroot or Yocto may be used to populate the filesystem (with BusyBox, tools, etc.)".  Xilinx Open Source Linux - Xilinx Wiki - Confluence (atlassian.net)

I think this is misleading because the Xilinx toolchain can no longer be used with Buildroot. A second toolchain, either generated by Buildroot or downloaded from a third party is necessary. While doable and I have done so using the Arm gcc 10 toolchain, it is not ideal.

GNU Toolchain | GNU Arm Embedded Toolchain Downloads – Arm Developer

 

Question: Is there any other patch or workaround to allow using the 2020.2 toolchain with Buildroot?

Thanks,

Joe

 

 

0 Kudos
3 Replies
stephenm
Xilinx Employee
Xilinx Employee
323 Views
Registered: ‎09-12-2007

The OSL flows can be seen here, or uboot, dtb, and the kernel:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18841722/ZCU102+Image+creation+in+OSL+flow

 

However, for the RFDC which uses the libmetal (and thus cmake) is a little more complicated. There is this that might help:

https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/84378586/Building+RFDC+application+from+git+sources+for+ZCU111

 

0 Kudos
joe4702
Contributor
Contributor
271 Views
Registered: ‎08-21-2012

Thanks, but that doesn't address the specific issue of the Xilinx GNU toolchain no longer being usable by Buildroot to build the file system, even though Xilinx claims to still support OSL build flow.

Seems to me Xilinx is trying to push developers to use their proprietary Petalinux tools and the overly complex Yocto build system. 

Yocto works fine if everything goes well, but is difficult and time consuming to debug if something goes wrong, as witnessed by the numerous forums posts regarding Petalinux/Yocto issues.

 

0 Kudos
hokim
Scholar
Scholar
211 Views
Registered: ‎10-21-2015

Hi

You can find toolchains for Xilinx  under Vitis/2002.2/gnu/  of  http://petalinux.xilinx.com/sswreleases/rel-v2020/xsct-trim/xsct-2020-2.tar.xz

You need to read the following to understand why Xilinx(vendors) chooses Yocto 

https://lwn.net/Articles/682540/

0 Kudos