Seriously, whenever I need to touch anything Xilinx I cry.
PetaLinux is the most useless abstraction over Yocto ever. It does one thing well: build an image exactly as Xilinx specified. As soon as you need to change the tiniest thing the whole system implodes.
And as is tradition in this sector their whole support scheme is: "sorry, didn't do it EXACTLY like we did, so no support."
If you want to make your Embedded Linux guy happy, stay far far away from anything Xilinx.
the root cause might be yocto which itself is very complex? xilinx just added its own layer on top when the board was made, and it stays un-updated for a few years, you got something initially working, and you need update it yourself after running its demos.
i use petalinux, not great not terribly bad either, I would say it's average.
I wouldn't be surprised if this were the case. IME you're better off either going from scratch, using gentoo, or using a different distro rootfs if they have appropriate binaries and just maintaining a custom kernel.
Sorry, I exaggerated slightly. I think the hardware itself is mostly okay. It's just that my part of the work is providing a working OS on top of it, which is an absolute nightmare with Petalinux.
I mean it's alright. It'll spit out an image that is going to work and you won't have to understand anything about Bitbake/Yocto and so on.
But that's exactly the problem: Petalinux cripples Yocto so bad with their "let's make this as easy as possibly"-philosophy, that it makes you go nuts if you want anything slightly custom.
We have plenty of different layers for distros, various platforms and applications. Fitting Petalinux into these is a pain.
If you are going to build your OS for exactly one product that runs on a Xilinx device, go for it. If you wanna reuse something across multiple devices, I'd stay away.
I've used this kernel on some products and would recommend staying away when possible because you're kind of stuck in a corner wrt to feature and security updates.
Most of Xilinx's SoCs are very close to working on mainline kernels out of the box. You'll need to build/patch some advanced FPGA features, but with nothing more then a kernel config you'll have a functioning Linux system.
IMHO, putting in the work to use a mainline kernel (and Yocto in place of petalinux) is well worth it in the long run for real products.
Xilinx is to be commended for their efforts to mainline many features.
Petalinux and linux-xlnx are ultimately early dev and platform demonstration tools. They provide many features, but are lacking polish and stability needed for real products.
17 comments
[ 3.0 ms ] story [ 48.1 ms ] threadIf you want to make your Embedded Linux guy happy, stay far far away from anything Xilinx.
Do you mind elaborating? I just selected Zynq Ultrascale+ ZU5EG for a new project. We did run some tests on the EVK and it seems stable.
i use petalinux, not great not terribly bad either, I would say it's average.
I mean it's alright. It'll spit out an image that is going to work and you won't have to understand anything about Bitbake/Yocto and so on. But that's exactly the problem: Petalinux cripples Yocto so bad with their "let's make this as easy as possibly"-philosophy, that it makes you go nuts if you want anything slightly custom. We have plenty of different layers for distros, various platforms and applications. Fitting Petalinux into these is a pain.
If you are going to build your OS for exactly one product that runs on a Xilinx device, go for it. If you wanna reuse something across multiple devices, I'd stay away.
We don’t use Xilinx’s PetaLinux because it’s too limiting for the SW we want to run on top of it.
We might hope AMD fires the Xilinx programmers responsible for customer facing repositories.
They have taken to encrypting their configuration bitmaps on the bigger ones to stymie any further reverse-engineering.
Most of Xilinx's SoCs are very close to working on mainline kernels out of the box. You'll need to build/patch some advanced FPGA features, but with nothing more then a kernel config you'll have a functioning Linux system.
IMHO, putting in the work to use a mainline kernel (and Yocto in place of petalinux) is well worth it in the long run for real products.
Xilinx is to be commended for their efforts to mainline many features.
Petalinux and linux-xlnx are ultimately early dev and platform demonstration tools. They provide many features, but are lacking polish and stability needed for real products.