OS Setup
To leverage all Embodied Intelligence SDK 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 with Ubuntu Installation Guide to install Ubuntu 22.04 Desktop with 64bits variant on to the target system.
Attention
Please review Canoncial 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 delete or F2 keys 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
Disabled
Intel Advanced Menu ⟶ CPU Configuration
X2APIC
Disabled
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
Disabled
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
PCI Express Clock Gating
Disabled
Intel Advanced Menu ⟶ System Agent (SA) Configuration ⟶ PCI Express 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
PCH Cross Throttling
Disabled
Intel Advanced Menu ⟶ PCH-IO Configuration
Delay Enable DMI ASPM
Disabled
Intel Advanced Menu ⟶ PCH-IO Configuration ⟶ PCI Express Configuration
DMI Link ASPM
Disabled
Intel Advanced Menu ⟶ PCH-IO Configuration ⟶ PCI Express Configuration
Aggressive LPM Support
Disabled
Intel Advanced Menu ⟶ PCH-IO Configuration ⟶ SATA And RST Configuration
USB Periodic SMI
Disabled
Intel Advanced Menu ⟶ LEGACY USB Configuration
ACPI D3Cold Support
Disabled
Intel Advanced Menu ⟶ ACPI D3cold Settings
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’re 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 it shows the Linux time and date is wrong, follow below command to 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 OS Setup.
Setup 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 auto upgrade:
$ 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'
Setup ROS2 APT Repository
First ensure that the Ubuntu Universe repository is enabled.
$ sudo apt install software-properties-common $ sudo add-apt-repository universe
Now add the ROS 2 GPG key with apt.
$ sudo apt update && sudo apt install curl -y $ sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
Note: If your DNS cannot resolute
raw.githubusercontent.com
, modify the/etc/host
file to directly connect to theraw.githubusercontent
server:$ sudo bash -c "echo '185.199.108.133 raw.githubusercontent.com' >> /etc/hosts"
Then add the repository to your sources list.
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
Update your apt repository caches after setting up the repositories.
$ sudo apt update