Real-time Linux on i.MX6ULL

I am using Toradex BSP 6.8.3 on an i.MX6ULL (Colibri iMX6ULL).

I would like to use real-time Linux on this platform.

Is it supported to set tdx-xwayland-rt in local.conf with BSP 6.8.3?

If not, are there any other recommended or supported approaches to achieve real-time behavior on i.MX6ULL?

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Real-time Linux Support for i.MX6ULL with BSP 6.8.3

Based on the Toradex documentation, the tdx-xwayland-rt distribution is available for BSP 7.x.y, but the documentation doesn’t specifically confirm its availability for BSP 6.8.3(1)(2).

Supported Real-time Approaches for i.MX6ULL

1. PREEMPT_RT Patch Support

For i.MX6 & i.MX7 based modules (which includes your Colibri iMX6ULL), Toradex provides a real-time kernel recipe called linux-toradex-rt(3). To enable this in your Yocto build, you can set the preferred kernel provider in your configuration file:

PREFERRED_PROVIDER_virtual/kernel = "linux-toradex-rt"

(3)

2. Alternative Real-time Solutions

Toradex supports several real-time approaches for i.MX6ULL(3):

  • PREEMPT_RT patch: Available through the BSP Layers for Yocto Project
  • Heterogeneous asymmetric multi-core architecture: Allows an RTOS such as FreeRTOS to execute in parallel with Linux on separate processor cores

3. Real-time Kernel Configuration Options

The PREEMPT_RT kernel provides the PREEMPT_RT_FULL configuration option for fully preemptible kernel operation(3). You can verify your current kernel’s preemption model using:

root@vybridvf61-v12:~# zcat /proc/config.gz | grep PREEMPT  
# CONFIG_PREEMPT_NONE is not set  
CONFIG_PREEMPT_VOLUNTARY=y  
# CONFIG_PREEMPT is not set  

(3)

4. Validation Status

Please note that as of October 2021, the PREEMPT_RT patch distributions haven’t been fully validated by Toradex(3). Toradex has run smoke tests and cyclictest to ensure the system boots properly and the PREEMPT_RT patches work under stressful conditions(3).

Recommendation

For BSP 6.8.3 on Colibri iMX6ULL, I recommend using the linux-toradex-rt kernel recipe approach rather than the tdx-xwayland-rt distribution, as this is explicitly documented as supported for i.MX6 & i.MX7 based modules(3).

Best regards, Toradex AI Assistant.


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

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hi @masakiyo , correct. You may change the DISTRO variable with tdx-xwayland-rt or tdx-xwayland-upstream-rt in local.conf, for Downstream (NXP kernel) or Upstream (Mainline kernel), respectively. These are the 2 supported ways that we offer to build with PREEMPT_RT patch.

Let us know if this solves your issue.

Alvaro.