Building ECI¶
After Setting up ECI Build, follow the instructions in this section to build ECI targets.
Building ECI Targets¶
You can build ECI targets using different methods:
- Use Case builds
One method is to build ECI targets using pre-configured use cases, which automate the selection of feature options and enable quick solutions without requiring in-depth knowledge. These pre-configured use cases are designed to fulfill the needs of specific applications, such as robotics or discrete automation. Select this option if you are a novice user of ECI.
- Custom target builds
Another method is to build ECI targets by customizing the feature options. Most targets share the same core features, but differ in key technologies such as hypervisor virtualization, kernel version, development tool-chain, and graphical windowing system. Select this option if you are familiar with ECI and want to customize it.
Select a tab below to continue.
Important
Complete the prerequisite section Setting up ECI Build before continuing this section.
The section is applicable to:

Open a terminal to the eci-release directory. In Ubuntu, right-click the empty space in the directory explorer and select Open in Terminal.
At the terminal prompt, run the provided setup script without any parameters:
$ ./setup.sh
A menu prompt will list the use case options.
Select a use case option to build. Refer to the following table for the available use case options:
Use-Case
ECI Target
Feature Options
Description
custom
User selected
User selected
Provides ability to select any target with custom combination of feature options. For more information, go to the
Custom target builds
tab in the Building ECI section.eci-core
• SDK (build tools and dev pkgs)• SSH-ServerBuilds an image with a minimum set of features
eci-performance-native
• Alleci-core
feature options• KVM (including libvirt & virsh)Builds an image with development, infrastructure, and communication features.
eci-performance-native-graphical
• Alleci-core
feature options• Desktop Environment MATE• KVM (incl. libvirt & virsh)Builds a graphical desktop (MATE) image with development, infrastructure, and communication features.
eci-performance-eii
• Alleci-performance-native
feature optionsBuilds
eci-performance-native
with the addition of EII.eci-performance-robotics
• Alleci-performance-native
feature optionsBuilds
eci-performance-native
with the addition of ROS.eci-performance-acrn
acrn-sos for Vecow SPC-7100
• Embeddedeci-performance-native
image for VM use• SDK (build tools and dev pkgs)Builds an image with the ACRN hypervisor, development, and infrastructure features.
eci-performance-acrn-eii
acrn-sos for Vecow SPC-7100
• Alleci-performance-acrn
feature options• Embeddedeci-performance-eii
image for VM useBuilds
eci-performance-acrn
with the addition of an embeddedeci-performance-eii
image for VM use.eci-performance-acrn-robotics
acrn-sos for Vecow SPC-7100
• Alleci-performance-acrn
feature options• Embeddedeci-performance-robotics
image with for VM useBuilds
eci-performance-acrn
with the addition of an embeddedeci-performance-robotics
image for VM use.The build typically takes a very long time. A Linux build system with the recommended specifications might take about 1-2 hours to complete. A Linux build system with the minimum specifications might take over 6 hours to complete. Refer to Linux Build System for the recommended specifications.
After building an ECI image, refer to Installing ECI Images for the steps to install the ECI image.
Important
Complete the prerequisite section Setting up ECI Build before continuing this section.
The section is applicable to:

Open a terminal to the eci-release directory. In Ubuntu, right-click the empty space in the directory explorer and select Open in Terminal.
At the terminal prompt, run the provided setup script without any parameters:
$ ./setup.sh
A menu prompt will list the use case options. Select the
custom
option.After selecting the
custom
option, a menu will prompt you to select an ECI target.Select an ECI target to build. The following table lists the targets and the aliases. Click a target link, from the following table, for instructions on building.
Alias
Description
Target
Distribution
Kernel version
ECI-B
Linux PREEMPT_RT Base essential image
Yocto Poky 3.1 Preempt-rt (Dunfell)
v5.4.115-rt57
Debian 10 Linux Preempt-rt (Isar)
v5.4.115-rt57
ECI-X
Linux Xenomai Cobalt/I-pipe essential image
Yocto Poky 3.1 Xenomai (Dunfell)
v5.4.115-ipipe
Debian 10 Linux Xenomai (Isar)
v5.4.115-ipipe
ECI-R
Linux PREEMPT_RT and Xenomai Real-Time Systems Hypervisor (RTH) Multi-OS Consolidated System
Virtual Debian 10 Desktop (Isar)
v5.4.115
Privileged Debian 10 Preempt-rt (Isar)
v5.4.115-rt57
Privileged Debian 10 Xenomai (Isar)
v5.4.115-ipipe
Privileged Yocto Poky Preempt-rt (Dunfell)
v5.4.115-rt57
Privileged Yocto Poky 3.1 Xenomai (Dunfell)
v5.4.115-ipipe
ECI-A
Linux ACRN Hypervisor
Yocto Poky 3.1 ACRN custom (Dunfell)
v5.4.115
Yocto Poky 3.1 Preempt-rt + ACRN (Dunfell)
v5.4.115-rt57
The following figure shows the feature options available for each ECI target. Features listed under
Build Config Files Features
are always enabled, while you can enable or disable theBuild Menu Features
during the image build process.After building an ECI image, refer to Installing ECI Images for the steps to install the ECI image.
ECI Build Engine¶
The ECI build engine generates a number of bootable images for virtual and real targets. The engine may also be used to build real applications on top.
ECI will use either poky or Isar depending on the selected ECI target. At the core of these build engines are image generators that assemble OpenEmbedded binaries, Debian binaries, individual packages built from source, or all.
ECI Source Code¶
The ECI source code is in the release archive: eci-release/targets/resources
. This directory is organized by meta-layer. Each meta-layer contains recipes that correspond to various components included in ECI images. Within the recipe directory are files with the following file extensions:
- ISAR Recipes
*.deb
- Component redistributable Debian package*.tar.gz
- Component source code
- Poky Recipes
*.tar.gz
- Component pre-compiled binaries*.src.tar.gz
- Component source code