Hi Jack, On Mar 25, 2021, Jack wrote: > > I am having problems applying kernel patches in the context of a Xilinx > Petalinux project (Yocto-based). > > Xilinx provides a 5.4.0 kernel, according to make kernelconfig, though > how this corresponds to the upstream 5.4.0 kernel, I'm not sure. > What Xilinx provides in its linux-xlnx tree is quite different from the mainline v5.4 kernel. You can see all the differences by diffing against 219d54332a09 ("Linux 5.4"). > My understanding is that, in order to apply the latest 5.4 rt patch > (106-rt54), I have to apply the upstream 106 patch first. Is this > correct? > No, it doesn't work out that way, especially that the Xilinx kernel is quite different at core kernel components. The RT kernel releases are meant to be taken as a whole, by picking one of the stable versions shown at: https://wiki.linuxfoundation.org/realtime/preempt_rt_versions > When applying the patches using petalinux-config -c kernel, the > upstream patch appears to be accepted, but the rt patch is not. I get > the sequence of errors below, picked out in red. > FYI, in general, it's advised to separate kernel development from "integration" development (e.g. yocto, peta linux, etc.) > I am not familiar enough with the kernel, or the Petalinux tools, to > get a handle on the problem. The log file mentioned at the bottom does > not exist following the completion of the command. > > Is anyone able to help with this? Unfortunately, if you're going to do RT things on top of an SoC kernel, you're on your own — and some kernel development expertise will be needed. There are only two sane ways out: 1) Clone one of the stable RT kenrels trees (e.g., v5.4.106-rt45), then *carefully* pull in what you need from the Xilinx kernel tree. Then do proper stress and latency tests to make sure that everything is still in line. 2) Ask a supplier with sufficient embedded/kernel/RT expertise to do it for you. Good luck, -- Ahmed S. Darwish Linutronix GmbH