I also posted this question on the Xilinx forums because I'm trying to comprehend what the differences are between the different kernel's offered by Xilinx, Mr Torvalds and Analog Devices.
Let me explain my situation: I'm working on a ZCU102 board with a ADRV9009 evaluation board on top. In another forum post is was recommended by Analog to use the Analog Linux kernel to get the adrv9009-w PCBZ board working. I now managed to port these drivers into the Xilinx Linux kernel but I' still puzzled how these different kernels are related to each other.
We need to choose a strategy for out future products and one of the factors in this is the way Xilinx and Analog devices are using and handling the Mr.Torvalds Linux kernel.
Can anyone elaborate on this? What are the main differences of the 3 kernels? Are there merges at some fixed points? Are they drifting away from each other of will they be floating along each other?
Thanks for your response
Our repository is the first place where our drivers are added. We are trying to send them upstream too, but many of them are not yet there - because of this reason, they are not in the Xilinx repository either. We merge the Xilinx kernel periodically (however, we don't have some fixed points for doing this) into our master branch, so for your platform (ZCU102 and ADRV9009), I guess that the safest approach would be to use the ADI repository. It would be also easier for us to support you in case you encounter issues with ADRV9009.
Thank you for your answer. I hope you stick with me for a some more questions :-)
The title of the Analog repository states: Mirror of the Linux Torvalds kernel. Should this be: Mirror of the Xilinx kernel? Or are these merges some cherry picks?
Is there a way to recognize the merge points in order to identify from which branch of tag you build your drivers upon?
Thanks four your aswers
Hello, we also are planning a project including libiio and wondering which is the best strategy for a kernel long term. Since we would like to work in the vivado/SDK environment, at first glance it would appear that the Xilinx kernel is the natural choice, because of all of the Xilinx documentation and support. Now, I think I understand that the Xilinx kernel is really Petalinux. But we also would like to include libiio, which to date I have only seen using Linaro kernel. I do not know where Mr Tovalds, or AD kernel sit in the midst of all of this, which is a derivative of which etc. Any comparison of pros and cons for each would be very helpful, Our applications will be ad9361 - ad9371 and vivado/SDK centric.
Hello Deville we seem to be trodding the same path. Can you post a link to the Xilinx forum on this topic? Thanks.
Like Dragos said before, our kernel is based on the Xilinx Linux kernel with the addition of a few more drivers and patches.
You can use an external kernel in you petalinux build flow.