Build ECI¶
This section explains the procedure to build ECI custom images from source or to rebuild all or any the ECI Deb packages.
Setup Build Dependencies¶
Before setting up the Linux* build system, make sure that:
The Linux build system meets the recommended system requirements.
Docker* (version 19.03.15 or higher) is installed and the user is part of the
docker
group. For information on installing and configuring Docker, refer to the following:
Note: If you are behind a proxy, make sure that you set the following environment variables: HTTP_PROXY
, HTTPS_PROXY
, and NO_PROXY
.
The section is applicable to:

Do the following to set up a Linux build system:
Download the ECI release archive, if not done already.
Copy the
eci-release.tar.gz
archive from the ECI release archive (release-eci_#.#.zip
) to the Linux build system. Make sure that there are no spaces in the directory path. For example, copy the archive to ~/Desktop. Theeci-release.tar.gz
archive is located in the ECI release archive within theEdge-Controls-for-Industrial
directory as follows:└── Edge-Controls-for-Industrial ├── Codesys_Example_Applications.zip ├── Dockerfiles.tar.gz └── eci-release.tar.gz
Extract the archive. In Ubuntu, right-click the archive and select Extract Here.
The directory contents should be similar to the following:
Navigate to the extracted eci-release directory.
Open a terminal to the eci-release directory. In Ubuntu, right-click anywhere in the directory explorer and select Open in Terminal.
At the terminal prompt, run the provided setup script without any parameters:
$ ./setup.sh
If you are running the script for the first time, the script will prompt whether you want to check for missing dependencies:
Would you like to verify that all dependencies are met? [Y/n]
. Press Enter to check the build system for missing dependencies.The script will display the build dependencies, if any. When prompted, press the Enter or Y key to install any missing dependencies.
The script will notify the issues, if any. The following are some of the common issues. Click the links for resolutions:
The script will then prepare a container image. This container image will be used whenever you build ECI images or Deb packages.
After the dependencies are installed and prepared, you will see a confirmation message that the dependency check is complete.
At this point, the setup script will exit.
Build ECI Targets¶
The section is applicable to:

Do the following to build ECI targets:
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, rerun the setup script without any parameters:
$ ./setup.sh
A menu will display the available ECI targets. Select an ECI target to build.
The following table lists the available ECI targets.
The next step is to build a target. Click a target link from the following table for instructions on building the target:
Target
Description
Distribution
Linux Kernel Version
Installation image - Minimal build of Debian 11 (Bullseye) with the ECI Linux Intel LTS PREEMPT_RT kernel and latest Intel firmware already installed and boot parameters already configured
Debian 11 (Bullseye)
v5.10.115-rt67
Installation image - Minimal build of Ubuntu 22.04 (Jammy Jellyfish) with the ECI Linux Intel LTS PREEMPT_RT kernel and latest Intel firmware already installed and boot parameters already configured
Ubuntu 22.04 (Jammy Jellyfish)
5.15.36-rt41
Installation image - Legacy build of
core-image-minimal
with ACRN Hypervisor and VM launch scriptsNote: Can be configured at build time to modify install features.
Yocto 4.0 (Kirkstone)
v5.10.115
Installation image - Legacy build of
core-image-minimal
with Zephyr OSNote: Can be configured at build time to modify install features.
Yocto 4.0 (Kirkstone)
N/A
ECI packages - Builds all ECI Deb packages for Debian 11 (Bullseye)
Debian 11 (Bullseye)
Multiple Linux kernels
ECI packages - Builds all ECI Deb packages for Ubuntu 22.04 (Jammy Jellyfish)
Ubuntu 22.04 (Jammy Jellyfish)
Multiple Linux kernels