Xenomai integration for Toradex kernel

Hello,

I am using Toradex iMx8M Plus 1GB SoM and working with yocto as build system.
I know there are some reference image already provided by Toradex with RT patched but I was wondering if there are also some support for Xenomai for achieving best real-rime performances?
Actually I am working with BSP 5.x.x based on Kernel 5.4.193.
Thanks in advance,
Andrea

Hi, I’m the Toradex AI Assistant. The Toradex Support team will follow up with you shortly!

Did you like my answer?

:+1: :-1:


Hello Andrea,

Thank you for reaching out with your question about Xenomai integration on the Toradex iMX8M Plus SoM. Currently, Toradex does not offer direct support or pre-built images for Xenomai on this platform. Typically, real-time capabilities on Toradex hardware are achieved using the PREEMPT-RT patches included in the Toradex BSPs.

If you wish to pursue Xenomai for its real-time features, you would need to manually integrate it into your Yocto build. Here’s a brief overview of the process:

  1. Kernel Patching: Apply Xenomai’s I-pipe patches to your Linux kernel. Ensure the I-pipe patch version matches your kernel version (5.4.193).

  2. Yocto Integration: Modify your Yocto build to include Xenomai libraries and tools. This may involve creating a custom layer or adjusting existing recipes.

  3. Configuration: Enable Xenomai support in the kernel by setting the appropriate configuration options.

  4. Testing and Validation: After building and deploying your image, conduct thorough testing to ensure the system meets your real-time performance needs.

Please note that integrating Xenomai can be complex and may require significant effort in terms of kernel and system configuration. If you’re not familiar with these processes, it might be helpful to consult with someone experienced in Xenomai integration.

Alternatively, you might consider using the PREEMPT-RT patches provided by Toradex, which are designed to enhance real-time performance and are supported within the Toradex ecosystem.

I hope this helps, and I wish you success with your project!

Best regards,
Toradex AI Assistant

Please, also check if these links can help you solve your problem:

Import Debian or Ubuntu to apalis IMX6Q.

I’m just another developer but at my company we use NXP’s Harpoon BSP as the basis for realtime work on the i.mx8. It sets up a statically partitioned hypervisor (Jailhouse) so at least 1 of the A53 cores is allocated to linux, while any number of the remaning cores are allocated to the real-time domain. You can then run an RTOS or bare metal in the realtime domain. We run Zephyr, but there are other options.

Hi @andreabernasconi !

Regarding Xenomai support, it makes sense to first outline what is its current state:

Currently we don’t provide regular Xenomai support, and therefore the Embedded Linux Support Strategy | Toradex Developer Center is not applicable. It means that:

  • If/When we provide binary builds, we don’t necessarily test them or commit to releasing them on a regular basis
  • If/When we provide source integration (for example, in Yocto), we don’t guarantee it will work at any given time

Given the above disclaimer, basic Xenomai integration for x86 is available as of today, and we are working on adding basic Xenomai support for Verdin iMX8M Plus. Both the work for x86 and for Verdin iMX8M Plus are sponsored by another of our customers who has a Professional Service contract.

We plan to publicly release the Yocto integration and an experimental build of Torizon OS. Again, these will not be necessarily maintained over time, and no quality level will be guaranteed. If you are interested in any level of support beyond the “as-is”, we may discuss a Professional Service with you.

You can check the following PR that was issued just yesterday: Add support for Xenomai on Toradex SoMs by leograba · Pull Request #239 · torizon/meta-toradex-torizon · GitHub

A comment here: as you might already know, Verdin iMX8MP has a Cortex-M7 that could also be used for real-time tasks. This could be something for you to consider as well.

Please note that BSP 5 is currently EOL and it is recommended to upgrade to an active BSP (currently 6 or 7, where 7 would be best since it is newer, therefore its support will extend after 6’s). Please check Embedded Linux Support Strategy | Toradex Developer Center for more information.

Let us know if this helps :slight_smile:

Best regards,