Build ECI¶
This section explains the procedure to build ECI custom images from source or to rebuild all or any the ECI Deb packages.
Attention
Building ECI RPM packages for Red Hat Enterprise Linux* is currently not supported.
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 Canonical 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 Canonical 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 Canonical 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)
5.10.179-rt87
Installation image - Minimal build of Canonical 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
Canonical Ubuntu* 22.04 (Jammy Jellyfish)
5.15.113-rt64
Installation image - Legacy build of
core-image-minimal
with ACRN Hypervisor and VM launch scriptsNote: Can be configured at build time to modify installed features.
Yocto 4.0 (Kirkstone)
5.10.179
Installation image - Legacy build of
core-image-minimal
with Zephyr OSNote: Can be configured at build time to modify installed 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 Canonical Ubuntu* 22.04 (Jammy Jellyfish)
Canonical Ubuntu* 22.04 (Jammy Jellyfish)
Multiple Linux kernels