Kernel

For LinuxCNC we need a realtime kernel using preempt-rt.
This is because LinuxCNC is doing the motion planning and movement commands in the operating system and not a microcontroller.
It is able to use a mesa or FPGA board to help generate the steps / do some workload, but the majority of the work is done at the operating system level,

The way dietpi works is that it uses the version of kernel normally bundled with the distro it's using as a template.
At the time of writing this will likely be 6.1.x (aarch64) for a RPI3 / RPI4.
This won't be a real-time kernel, which means we have to build our own.

Realtime Kernel

There are two variants of realtime kernel for linux

  • RTAI for parallel port stepping machines.
  • Preempt_rt for Mesa/Pico based machines.

RTAI I think is ether depreciated or a work in progress.
Preempt_rt seems to be the one to aim for.

Typically, the Preempt_rt patches can be located here