update to latest v5.4-rt kernel for sam9x35 SOC

Nicolas.Ferre at microchip.com Nicolas.Ferre at microchip.com
Wed Apr 5 09:42:01 PDT 2023


Yosi Yarchi,

On 04/04/2023 at 17:55, yosi yarchi wrote:
>     Hi
> 
>       I'm working currently with 5.4.41-linux4sam-2020.04-rt kernel on
>       sam9x35 SOC. there are no updates for this kernel for long time
>       (since 2020).

Yes, in the meantime, we switched our "vendor kernel" to newer kernel 
revisions and continued our work to mainline the out-of-tree changes.

For this particular SoC, I would say that all needed pieces are in 
Mainline for a long time, so I would always advise to go with the latest 
upstream kernel (with RT_PREEMPT extension in this case).
That being said, I admit that you want to stick with 5.4.x kernels for 
various reasons.

>       at linux-stable-rt, however, there are lot of
>       updates for v5.4 kernel. I want to update to latest v5.4 kernel. I
>       thought to:
> 
>         1. take linux-stable-rt repository as my base
>         2. add missing files from maintainers repository
> git://git.kernel.org/pub/scm/linux/kernel/git/at91/linux.git
>           repository (pointed by MAINTAINERS file).
> 
>         however, what about exist but less updated files? the file
>           drivers/dma/at_hdmac.c, for example, exist at both
>           repositories, but git log shows that there are much more
>           updates at maintainers repository than to linux-stable-rt
>           repository (even at specific date, Oct 25 2022, for example).
> 
>      my question is: what is the right way to update to latest 5.4-rt
>       kernel on sam9x SOCs?

I would take the reverse approach as it's what we do for building our 
Linux4SAM/Linux4Microchip kernels:

1/ start with non-rt latest version of linux4sam 5.4: branch 
linux-5.4-at91 that has the stable updates up to v5.4.104 (March 2021)
2/ little by little (chunk of 10 revisions), merge upstream stable 
kernels, fix merge conflicts, continue, iterate, up to v5.4.230 (see below)
3/ during this process, test regularly the resulting kernel on your 
system or even better in a CI loop to automate the process
4/ stop when you've reached the more recent 5.4 stable kernel *with rt 
extensions* (5.4.230 as I can see on 
https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/5.4/)
5/ now you can merge v5.4.230-rt80 on your updated kernel. If you find 
conflicts or difficulties, take the v5.4.41-rt kernel as an example of 
how to solve the conflicts for sam9x35. The most challenging part must 
be related to timers: see how it's done for the kernel you use now 
(v5.4.41-rt) to replicate this on the newer kernel if needed.

In any case, don't hesitate to fill-in a support ticket with Microchip 
to address this special case.

Hope that it helps. Best regards,
   Nicolas

-- 
Nicolas Ferre



More information about the linux-arm-kernel mailing list