A couple of years ago I used the Pi as a soft PLC in which you could apply an rt-preempt patch to the kernel to reduce jitter. I remember that Edwin also made a short post on how to do this. Is there still a quick way to patch a kernel for a Raspi 3B? Or do I really have to build a kernel?
You could use Debian image.
In Debian repo you can find RT PREEMPT precompiled path.
Tuning kernel cmdline using CPU pinning and using a fixed pinning on codesys task make possible a jitter <30us on a PI4.
Thanks for your comment. Do you have link for the debian repo?
Thanks. I went through it but only saw standard builds (tested). Could you point me to the precompiled images with preempt-rt patch?
I searched again!
RPI 2 is supported in debian with
linux-image-rt-armmp in 32 bits arch
RPI 3 I cannot find info
RPI 4 apparently only in 64 bits linux-image-rt-arm64 (Tested by me in debian daily build) and CODESYS for arm at 64 bits
I just mounted a PI2 image:
$ unxz 20220121_raspi_2_bullseye.img.xz
$ sudo losetup -Pf 20220121_raspi_2_bullseye.img
$ sudo mount /dev/loop24p2 /mnt
$ cd /mnt/etc/apt
$ cat sources.list
deb http://deb.debian.org/debian bullseye main contrib non-free
deb http://security.debian.org/debian-security bullseye-security main contrib non-free
# Backports are _not_ enabled by default.
# Enable them by uncommenting the following line:
# deb http://deb.debian.org/debian bullseye-backports main contrib non-free
Enable those repo in raspbian than:
$ sudo apt-get update
$ sudo apt-get install linux-image-rt
NEVER DO apt-get upgrade!!!!
Remove repos before!!!
In a Raspberry PI 4 64bit it worked for me, but now I'm switching to a my distro built with YOCTO.
Log in to post a comment.