03-22-2021 02:41 PM
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:
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.
Question: Is there any other patch or workaround to allow using the 2020.2 toolchain with Buildroot?
03-23-2021 09:19 AM
The OSL flows can be seen here, or uboot, dtb, and the kernel:
However, for the RFDC which uses the libmetal (and thus cmake) is a little more complicated. There is this that might help:
03-26-2021 08:34 AM
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.
03-28-2021 12:11 AM - edited 03-28-2021 12:13 AM
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