Appendix

Note

These lists are not comprehensive. They are provided for reference only.

ECI Supported Distributions

Distribution

Distribution Version

ECI Version

v3.3

v3.2

v3.1

v3.0.2

v3.0.1

v3.0

< Debian >

Debian 12 (Bookworm) .

Debian 11 (Bullseye) .

< Canonical® Ubuntu® >

Canonical® Ubuntu® 24.04 (Noble Numbat) .

Canonical® Ubuntu® 22.04 (Jammy Jellyfish) .

< Red Hat® Enterprise Linux® >

Red Hat® Enterprise Linux® 9.3 (Plow) .

Key

Symbol

Ongoing development

CVE & Bug fixes only

ECI Supported Distributions per Intel® platforms

Use the table below to determine which ECI supported OS distribution(s) you should use with your Intel® platform to achieve best results:

Distribution

Distribution

Version

< Intel® platforms >

Series 1 Core™ Ultra (MTL) Meteor Lake

7000 Series Intel Atom® (ASL) Amston Lake

14th/13th Gen Core™ (RPL) Raptor Lake

12th Gen Core™ (ADL) Alder Lake

Xeon® D-1700 (ICL-D) Ice Lake D

6000E Series Intel Atom®™ (EHL) Elkhart Lake

11th Gen Core™ (TGL) Tiger Lake

9th/8th Gen Core™ (CFL/WHL) Coffee/Whiskey Lake

< Debian >

Debian 12 (Bookworm) .

Debian 11 (Bullseye) .

< Canonical® Ubuntu® >

Canonical® Ubuntu® 24.04 (Noble Numbat) .

Canonical® Ubuntu® 22.04 (Jammy Jellyfish) .

< Red Hat® Enterprise Linux® >

Red Hat® Enterprise Linux® 9.3 (Plow) .

ECI Linux Intel LTS Kernel

ECI distributes various builds of the Linux Intel LTS kernel, which are detailed in the table below:

Distribution

Linux kernel type

Linux kernel version

Deb Packages

Source URL

Debian 12 (Bookworm)

Real-time PREEMPT_RT

6.1.80-rt26

linux-headers-intel-rt
linux-image-intel-rt
linux-intel-rt

link

Debian 12 (Bookworm)

Xenomai/Dovetail

6.1.80

linux-headers-intel-xenomai
linux-image-intel-xenomai
linux-intel-xenomai

link

Debian 12 (Bookworm)

ACRN Hypervisor compatible

6.1.80

linux-headers-intel-acrn-sos
linux-image-intel-acrn-sos
linux-intel-acrn-sos

link

Canonical® Ubuntu® 24.04 (Noble Numbat)

Real-time PREEMPT_RT

6.6.23-rt28

linux-headers-intel-rt
linux-image-intel-rt
linux-intel-rt

link

Canonical® Ubuntu® 24.04 (Noble Numbat)

Xenomai/Dovetail

6.6.25

linux-headers-intel-xenomai
linux-image-intel-xenomai
linux-intel-xenomai

link

Canonical® Ubuntu® 24.04 (Noble Numbat)

ACRN Hypervisor compatible

6.6.25

linux-headers-intel-acrn-sos
linux-image-intel-acrn-sos
linux-intel-acrn-sos

link

ECI Components

The following components can be installed using packages from ECI or open-source. Click the component hyperlink for instructions on installing and using the component.

Component

Version

Description

ACRN Hypervisor

3.3

Open-source ACRN Type 1 hypervisor

CANopen

4.0

Open-source CAN Bus software

CODESYS Control for Linux

4.11.0.0

Commercially available IEC 61131-3-compliant SoftPLC for PC-based industrial controllers running on Linux with soft real-time properties.

Intel® Resource Director Technology (Intel® RDT)

6.0.0

Open-source software which provides a number of monitoring and control technologies to help software understand and control the usage of shared resources within the platform, such as last-level cache (LLC) and memory bandwidth

Edge Control Procotol Bridge

3.3

Intel-created software which can be used to bridge various industrial protocols together, effectively providing translation from one protocol to another.

IgH EtherCAT Master Stack

1.6

Open-source EtherCAT Master software

Intel® In-band Manageability

4.2.1

Intel-created software which enables an administrator to perform critical Device Management operations over-the-air remotely from the cloud.

Application Management - Edge Orchestration

3.2.0

Edge Orchestration provides a set of extensions for popular orchestration software (Kubernetes, Kubespray, Tanzu, Rancher, Helm, and so on), which enable clusters to take advantage of Intel® features such as Intel® Resource Director Technology (Intel® RDT) and Intel® Time Coordinated Computing.

Intel® Ethernet TSN IoTG Reference Sample Applications

0.9.13

Intel-created performance synthetic testing to compare Linux Intel® Industrial Ethernet driver hw-offload capabilities.

PLCopen Motion Control

0.3.0

The PLCopen motion standard provides a way to have standard application libraries that are reusable for multiple hardware platforms.

Real Time Data Agent

1.1

The Real Time Data Agent provides an unified and real-time way to write/read data to/from shared memory, and also a demo program to parse/pack/send data to container stack for storage and visualization.

Real-Time Performance Measurement (RTPM)

1.12

RTPM is designed to check the key settings of the system and help you to identify the hotspot of the system for real-time performance and provide a recommendation based on the Best-known Configuration (BKC). In addition, RTPM provides a way to measure the system scheduling latency with some open source tools.

Robot Operating System Software

Humble

Open-source software intended for writing robot software. ROS is comprised of a collection of tools, libraries, and conventions that aim to simplify the task of creating complex and robust robot behavior across a wide variety of robotic platforms.

Time-series processing

1.1

Template files for launching a time-series data processing stack consisting of the MQTT broker mosquitto, telegraf as data colletion service, InfluxDB as time-series database and grafana for visualization.

ECI Benchmarks

The following benchmarks can be installed using packages from ECI or open-source. Click the benchmark hyperlink for instructions on installing and using the benchmark.

Benchmark

Location after installation

Caterpillar

/opt/benchmarking/caterpillar

CODESYS Benchmarking Applications

/opt/benchmarking/codesys

Cyclictest Workload

/usr/bin/cyclictest

Fast Library for Approximate Nearest Neighbors (FLANN)

/opt/intel/flann/dpcpp/tests

Hardware Latency Detector

/usr/sbin/hwlatdetect

Ethernet TSN Intel Reference Benchmarks

/opt/intel/iotg_tsn_ref_sw

Jitter

/opt/benchmarking/jitter

LMbench

/opt/bin/lmbench

MMIO Latency

/opt/benchmarking/mmio-latency

MSI Jitter

/opt/benchmarking/msi-jitter

MSI Latency

/opt/benchmarking/msi-latency

Point-Cloud Library (PCL)

/top/intel/pcl/oneapi/tests

Rhealstone

/opt/benchmarking/rhealstone

ROS2 DDS/RSTP

N/A

RT-app

/opt/benchmarking/rt-app

ECI Examples

The following examples can be installed using packages from ECI or open-source. Click the reference documentation hyperlink for instructions on running the example.

Example

Reference Documentation

Location after installation

CODESYS Application

Application #2: CODESYS OPC UA Publish/Subscribe

/opt/ec-protocol-bridge/plg-opcua-rt/examples/codesys

CODESYS Benchmark Application

CODESYS Benchmarking Applications

/opt/benchmarking/codesys

EC Protocol Bridge

Application #1: Single-Host Roundtrip TSN Transport

opt/ec-protocol-bridge/plg-opcua-rt/examples/singlehost

EC Protocol Bridge

Application #2: CODESYS OPC UA Publish/Subscribe

/opt/ec-protocol-bridge/plg-opcua-rt/examples/codesys

EtherCAT Enablekit

EtherCAT Enablekit Sanity Checks

/opt/ecat-enablekit/ecatmotor

Edge Control Protocol Bridge Example Applications

EC Protocol Bridge Example Applications

/opt/ec-protocol-bridge/plg-opcua-rt/singlehost-examples

Edge Control Protocol Bridge Example Configurations

EC Protocol Bridge Example Configurations

/opt/ec-protocol-bridge/config

IgH EtherCAT Master Stack

EtherCAT Sanity Checks

/opt/ighethercat/examples/

PLCopen Motion Control Examples

PLCopen Motion Recurring Testing

/opt/plcopen

How to monitor and control an 2-axis RRBot Robotic Arm

Launch RRBot 2-axis Robotic Arm ROS2 tutorial

N/A

How to monitor and control an 6-axis HIWIN Robotic Arm

Launch HIWIN 6-axis Robotic Arm ROS2 tutorial

N/A

How to monitor and control an AGV (Automated Guided Vehicle)

Launch AGV ROS2 tutorial

N/A

How to plan robot grasp motion using 3-D Object Pose Detection (Automated Guided Vehicle)

Launch 3-D Object Pose Detection tutorial

N/A

ECI Kernel Configuration Optimizations

This list provides the additional kernel configurations used during compilation to optimize the system for real-time performance.

When Configuring x86_64 PPREEMPT_RT kernels, there is no default configuration file for each of the IPC models available, and the only kernel configuration file you may want to start from is shipped with ECI distributions. Below non exhaustive list of the most critical for a control Linux-RT OS runtime:

kernel config fragment overrides (.cfg)

Comments

CONFIG_HZ_250=y
CONFIG_NO_HZ=n
CONFIG_NO_HZ_FULL=y
CONFIG_NO_HZ_IDLE=n
CONFIG_ACPI_PROCESSOR=n
CONFIG_CPU_FREQ_GOV_ONDEMAND=n
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=n
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ=n
CONFIG_CPU_IDLE=n

Reduce task scheduling-clock overhead and disable CPU governor Linux features

ARCH_SUSPEND_POSSIBLE=n
CONFIG_SUSPEND=n
CONFIG_PM=n

Disable Linux power-management runtime features

CONFIG_VIRT_CPU_ACCOUNTING=y
CONFIG_VIRT_CPU_ACCOUNTING_GEN=y

Enable more accurate task and CPU time accounting

CONFIG_CPU_ISOLATION=y
CONFIG_RCU_NOCB_CPU=y
CONFIG_PREEMPT_RCU=y
CONFIG_HAVE_PREEMPT_LAZY=y
CONFIG_PREEMPT_LAZY=y
CONFIG_PREEMPT_RT=y

Enable more preemptive task scheduling policies and CPU temporal-isolation

Note

When using x86_64 PPREEMPT_RT as ACRN single core Real-Time VM, CONFIG_SMP need to be disabled in kernel configuration.

ECI Kernel Boot Optimizations

This list provides the additional boot parameters used to optimize the system for real-time performance.

When Configuring x86_64 PPREEMPT_RT kernels, there is no default configuration file for each of the IPC models available, and the only kernel configuration file you may want to start from is shipped with ECI distributions. Below non exhaustive list of the most critical for a control Linux-RT OS runtime:

kernel command-line append

Comments

hpet=disable \
clocksource=tsc \
tsc=reliable \
intel_pstate=disable \
intel_idle.max_cstate=0 \
intel.max_cstate=0 \
processor.max_cstate=0 \
processor_idle.max_cstate=0 \

Use intel_pstate driver but disable HWP (Hardware P-States)

rcupdate.rcu_cpu_stall_suppress=1 \
mce=off \
nmi_watchdog=0 \
nosoftlockup \

Suppress RCU CPU stall warning messages, disable machine check exceptions, disable NMI lockup detector, and disable logging of back-traces when a process executes on a CPU for longer than the softlockup threshold (default 120 seconds).

noht \

Disable Hyper-Threading

numa_balancing=disable \

Prevent cache from being moved based on task processor affinity.

hugepages=1024 \

Pre-allocate 1024 * 2MB memory chunks (2GB) to provide ample memory for initial applications.

rcu_nocb_poll \

Relieve each CPU from the responsibility of awakening their RCU offload threads.

audit=0 \
irqaffinity=0 \
isolcpus=1,3 \
rcu_nocbs=1,3 \
nohz-full=1,3 \

Assign task CPU affinity to CPU 0 and prevent tasks from being assigned to CPUs 1 & 3 (Note: Isolated cores are chosen dynamically depending on which CPUs are available when the GRUB config is generated)

This effectively makes these CPUs favorable for real-time tasks, since they should experience minimal contention.

i915.enable_rc6=0 \
i915.enable_dc=0 \
i915.disable_power_well=0 \

Prevent integrated graphics from changing power states.

Additional Boot Parameters for Intel® TCC Tools

The following list of boot parameters are used to enable TCC capability.

Kernel Command line append

Comments

rdt=!l2cat,l3cat \
art=virtallow \

Disable cat, required for TCC

Additional Boot Parameters for ACRN Real-Time VM

The following list of boot parameters are used for ACRN Real-Time VM. These parameters are mostly applicable to the Linux-based RTOS, such as PREEMPT_RT Linux and Xenomai.

Kernel Command line append

Comments

nohpet \
no_timer_check \
ignore_loglevel \
log_buf_len=16M \
consoleblank=0 \
console=hvc0 \
i915.nuclear_pageflip=1 \
i915.avail_planes_per_pipe=0x070F00 \
x2apic_phys \
mce=ignore_ce \
idle=poll \
isolcpus=nohz,domain,<list> \
rcu_nocbs=<list> \
nohz_full=<list> \

Modify parameters. List RT VM cores allocated to real-time applications. If the RTVM is single core, these parameters should be removed.

Note

If the ACRN Real-Time VM is single core, parameter nohz=off should be added in kernel command line.

Required BIOS configuration for Intel® TCC Tools

The following list provides additional BIOS settings for Intel® Time Coordinated Computing.

Note

Use an approved Intel® BIOS checker tool before configuring for production use cases.

Intel Advanced Menu

Intel(R) Time Coordinated Computing

Intel(R) TCC Mode

Enabled

Intel(R) TCC Authentication

Disabled