OS Setup#
To leverage all PLCopen Motion Control features, the target system should meet the recommended system requirements. Also, the target system must have a compatible OS (Ubuntu 22.04 Desktop) so that you can install Deb packages from SDK. This section explains the procedure to install a compatible OS on the target system.
Do the following to prepare the target system:
Follow the Ubuntu Installation Guide to install Ubuntu 22.04 Desktop with the 64bits variant on to the target system.
Attention: Please review Canonical Intellectual property rights policy regarding Canonical® Ubuntu®. Note that any redistribution of modified versions of Canonical® Ubuntu® must be approved, certified or provided by Canonical if you are going to associate it with the Trademarks. Otherwise you must remove and replace the Trademarks and will need to recompile the source code to create your own binaries.
To achieve real-time determinism and utilize the available Intel® silicon features, you need to configure certain BIOS settings. Reboot the target system and access the BIOS (press the
DeleteorF2keys while booting to open the BIOS menu).Select Restore Defaults or Load Defaults, and then select Save Changes and Reset. As the target system boots, access the BIOS again.
Modify the BIOS configuration as listed in the following table.
Note: The available configurations depend on the platform, BIOS in use, or both. Modify as many configurations as possible.
Setting Name |
Option |
Setting Menu |
|---|---|---|
Hyper-Threading |
Disabled |
Intel Advanced Menu ⟶ CPU Configuration |
Intel (VMX) Virtualization |
Enabled |
Intel Advanced Menu ⟶ CPU Configuration |
X2APIC |
Enabled |
Intel Advanced Menu ⟶ CPU Configuration |
Active SOC-North Efficient-cores |
0 |
Intel Advanced Menu ⟶ CPU Configuration |
Intel(R) SpeedStep |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control |
Intel(R) Shift Technology |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control |
Intel(R) Turbo Mode |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control |
C States |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control |
RC6 (Render Standby) |
Disabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ GT - Power Management Control |
MC6 (Media Standby) |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ GT - Power Management Control |
Disable Turbo GT frequency |
Disabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ GT - Power Management Control |
Maximum GT frequency |
Default Max Frequency |
Intel Advanced Menu ⟶ Power & Performance ⟶ GT - Power Management Control |
Page Close Idle Timeout |
Disabled |
Intel Advanced Menu ⟶ Memory Configuration |
Power Down Mode |
Disabled |
Intel Advanced Menu ⟶ Memory Configuration |
SA GV |
Disabled |
Intel Advanced Menu ⟶ Memory Configuration |
VT-d |
Enabled |
Intel Advanced Menu ⟶ System Agent (SA) Configuration |
ACPI S3 Support |
Disabled |
Intel Advanced Menu ⟶ ACPI Settings |
Low Power S0 Idle Capability |
Disabled |
Intel Advanced Menu ⟶ ACPI Settings |
Native ASPM |
Disabled |
Intel Advanced Menu ⟶ ACPI Settings |
Legacy IO Low Latency |
Enabled |
Intel Advanced Menu ⟶ PCH-IO Configuration |
Setting Name |
Option |
Setting Menu |
|---|---|---|
Hyper-Threading |
Enabled |
Intel Advanced Menu ⟶ CPU Configuration |
Intel (VMX) Virtualization |
Enabled |
Intel Advanced Menu ⟶ CPU Configuration |
X2APIC |
Enabled |
Intel Advanced Menu ⟶ CPU Configuration |
Active SOC-North Efficient-cores |
All |
Intel Advanced Menu ⟶ CPU Configuration |
Intel(R) SpeedStep |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control |
Intel(R) Shift Technology |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control |
Intel(R) Turbo Mode |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control |
C States |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ CPU - Power Management Control |
RC6 (Render Standby) |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ GT - Power Management Control |
MC6 (Media Standby) |
Enabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ GT - Power Management Control |
Disable Turbo GT frequency |
Disabled |
Intel Advanced Menu ⟶ Power & Performance ⟶ GT - Power Management Control |
Maximum GT frequency |
Default Max Frequency |
Intel Advanced Menu ⟶ Power & Performance ⟶ GT - Power Management Control |
Page Close Idle Timeout |
Enabled |
Intel Advanced Menu ⟶ Memory Configuration |
Power Down Mode |
Auto |
Intel Advanced Menu ⟶ Memory Configuration |
SA GV |
Enabled |
Intel Advanced Menu ⟶ Memory Configuration |
VT-d |
Enabled |
Intel Advanced Menu ⟶ System Agent (SA) Configuration |
ACPI S3 Support |
Enabled |
Intel Advanced Menu ⟶ ACPI Settings |
Low Power S0 Idle Capability |
Disabled |
Intel Advanced Menu ⟶ ACPI Settings |
Native ASPM |
Auto |
Intel Advanced Menu ⟶ ACPI Settings |
Legacy IO Low Latency |
Disabled |
Intel Advanced Menu ⟶ PCH-IO Configuration |
Set locale#
Make sure you have a locale which supports UTF-8.
If you are in a minimal environment (such as a Docker container), the locale may be something minimal like POSIX.
We test with the following settings. However, it should be fine if you are using a different UTF-8 supported locale.
locale # check for UTF-8
sudo apt update && sudo apt install locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8
locale # verify settings
Set Date and Time#
Use the date command to display the current date and time. If the Linux OS time and date is incorrect, set it to current date and time:
date
sudo date -s "2025-03-30 12:00"
Setup Sources#
This section explains the procedure to configure the APT package manager to use the hosted ECI APT repository.
Make sure that you have the right OS Setup.
Set up ECI APT Repository#
Open a terminal prompt which will be used to execute the remaining steps.
Download the ECI APT key to the system keyring:
sudo -E wget -O- https://eci.intel.com/repos/gpg-keys/GPG-PUB-KEY-INTEL-ECI.gpg | sudo tee /usr/share/keyrings/eci-archive-keyring.gpg > /dev/null
Add the signed entry to APT sources and configure the APT client to use the ECI APT repository:
echo "deb [signed-by=/usr/share/keyrings/eci-archive-keyring.gpg] https://eci.intel.com/repos/$(source /etc/os-release && echo $VERSION_CODENAME) isar main" | sudo tee /etc/apt/sources.list.d/eci.list echo "deb-src [signed-by=/usr/share/keyrings/eci-archive-keyring.gpg] https://eci.intel.com/repos/$(source /etc/os-release && echo $VERSION_CODENAME) isar main" | sudo tee -a /etc/apt/sources.list.d/eci.list
Note: The auto upgrade feature in Canonical® Ubuntu® will change the deployment environment over time. If you do not want to auto upgrade, execute the following commands to disable the feature:
sudo sed -i "s/APT::Periodic::Update-Package-Lists \"1\"/APT::Periodic::Update-Package-Lists \"0\"/g" "/etc/apt/apt.conf.d/20auto-upgrades" sudo sed -i "s/APT::Periodic::Unattended-Upgrade \"1\"/APT::Unattended-Upgrade \"0\"/g" "/etc/apt/apt.conf.d/20auto-upgrades"
Configure the ECI APT repository to have higher priority over other repositories:
sudo bash -c 'echo -e "Package: *\nPin: origin eci.intel.com\nPin-Priority: 1000" >> /etc/apt/preferences.d/isar' sudo bash -c 'echo -e "Package: libze-intel-gpu1,libze1,intel-opencl-icd,libze-dev,intel-ocloc\nPin: origin repositories.intel.com/gpu/ubuntu\nPin-Priority: 1000" >> /etc/apt/preferences.d/isar'