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:

  1. 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.

  2. 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).

  3. Select Restore Defaults or Load Defaults, and then select Save Changes and Reset. As the target system boots, access the BIOS again.

  4. 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

  1. Open a terminal prompt which will be used to execute the remaining steps.

  2. 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
    
  3. 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"
    
  4. 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

  1. First ensure that the Ubuntu Universe repository is enabled.

    $ sudo apt install software-properties-common
    $ sudo add-apt-repository universe
    
  2. 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 the raw.githubusercontent server:

$ sudo bash -c "echo '185.199.108.133 raw.githubusercontent.com' >> /etc/hosts"
  1. 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
    
  2. Update your apt repository caches after setting up the repositories.

    $ sudo apt update