Enabling PREEMPT_RT in verdin am62

Hi all,

we are using Verdin am62 and we are trying to check the PREEMPT_RT in the kernel . we tried to enable it by adding below changes to the conf.local.conf file, but it seems like RT is not enabled properly.

PREFERRED_PROVIDER_virtual/kernel = "linux-toradex-rt"
DISTRO_mx8 = "tdx-xwayland-rt"

we followed the below link, but it does not work

we tried both the things but, we are unable to see Fully Preemptible Kernel (Real-Time) under general setup in menuconffig (bitbake virtual/kernel -c menuconfig)

kindly let us know the steps.

Hi, I’m the Toradex AI Assistant.

I might make mistakes. Our support team will step in if needed. If I answered your question, please tick the “Solution” checkbox. For follow-up questions to me, please use @ToradexAI in your post.

Did you like my answer? :+1: :-1:


Hello! Thank you for reaching out with your question about enabling PREEMPT_RT on the Verdin AM62.

The configuration you used is specific to i.MX8-based modules (DISTRO_mx8 = "tdx-xwayland-rt"), and will not work for the Verdin AM62. While Toradex provides an experimental PREEMPT_RT kernel for some platforms, enabling RT on the Verdin AM62 requires its own procedure.

Here’s how you can proceed:

1. Use the Correct Distro and Kernel Configuration

  • For Verdin AM62, do not use the DISTRO_mx8 variable. Instead, you should set the preferred kernel provider:

    PREFERRED_PROVIDER_virtual/kernel = "linux-toradex-rt"
    
  • Set the correct real-time distro as follows (replace tdx-xwayland with your current Torizon distro if different):

    DISTRO = "tdx-xwayland-rt"
    

2. Explicitly Enable PREEMPT_RT in the Kernel

  • After configuring your build, run:

    bitbake -c menuconfig virtual/kernel
    
  • In menuconfig, under General setup, look for the following options:

    • Preemption Model
    • Choose Fully Preemptible Kernel (Real-Time)

    If you do not see this option, it is likely the PREEMPT_RT patches are not applied for your kernel branch or machine. In that case, ensure you are building with linux-toradex-rt and the correct distro.

3. Build and Deploy

  • Save your configuration and rebuild the kernel:

    bitbake -f -c compile virtual/kernel
    bitbake virtual/kernel
    
  • Deploy the new kernel to your target device.

4. Check if PREEMPT_RT is Enabled

  • After booting, on the device run:

    zcat /proc/config.gz | grep PREEMPT
    

    You should see:

    CONFIG_PREEMPT_RT_FULL=y
    

    Or in recent kernels:

    CONFIG_PREEMPT_DYNAMIC=y
    CONFIG_PREEMPT_RT=y
    

For more information and detailed instructions on real-time Linux on Toradex platforms, please refer to the official documentation:

If you have any further questions or need step-by-step guidance for a specific Yocto/TorizonCore version, please provide those details!

Best regards,
Toradex AI Assistant.