Attention

You are viewing an older version of the documentation. The latest version is v3.3.

Building ECI

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

Building ECI Targets

ECI provides a number of targets that can be built. 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.

The following table lists the ECI targets available for build:

Alias

Description

Target

Distribution

Kernel version

ECI-B

Linux PREEMPT_RT Base essential image

base-poky

Yocto Poky 3.1 Preempt-rt (Dunfell)

v5.4.115-rt57

preempt-buster

Debian 10 Linux Preempt-rt (Isar)

v5.4.115-rt57

ECI-X

Linux Xenomai Cobalt/I-pipe essential image

xenomai-poky

Yocto Poky 3.1 Xenomai (Dunfell)

v5.4.115-ipipe

xenomai-buster

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

rts-buster

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

rts-poky

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

acrn-sos

Yocto Poky 3.1 ACRN custom (Dunfell)

v5.4.115

acrn-zephyr-ehl

Yocto Poky 3.1 Preempt-rt + ACRN (Dunfell)

v5.4.115-rt57

The following figure shows the feature options available to each ECI target. Features listed under Build Config Files Features are always enabled, while Build Menu Features can be enabled/disabled during the image build process.

_images/feature_matrix.png

Note

You can select these feature options if the custom use-case build option is selected.

Use Case Build Options

ECI provides 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.

Important

Complete the pre-requisite section Setting up ECI Build before continuing this section.

  1. Open a terminal to the eci-release directory. In Ubuntu, you can right-click the empty space in the directory explorer and select “Open in Terminal”.

    _images/C.png
  2. At the terminal prompt, run the provided setup script without any parameters:

    $ ./setup.sh
    
    _images/04.png
  3. A menu prompt will appear with use case options. Select a use case option to build. Refer to the following table for the description of each use case.

    _images/08.png

    The following table describes the various use case options available:

    Use-Case

    ECI Target

    Feature Options

    Description

    custom

    User selected

    User selected

    Provides ability to select any target with custom combination of feature options. See section Custom Target Build Options.

    eci-core

    preempt-buster

    • SDK (build tools and dev pkgs)
    • SSH-Server

    Builds an image with a minimum set of features

    eci-performance-native

    preempt-buster

    • All eci-core feature options
    • KVM (incl. libvirt & virsh)

    Builds an image with development, infrastructure, and communication features.

    eci-performance-native-graphical

    preempt-buster

    • All eci-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

    preempt-buster

    • All eci-performance-native feature options

    Builds eci-performance-native with the addition of EII.

    eci-performance-robotics

    preempt-buster

    • All eci-performance-native feature options

    Builds eci-performance-native with the addition of ROS.

    eci-performance-acrn

    acrn-sos for Vecow SPC-7100

    • Embedded eci-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

    • All eci-performance-acrn feature options
    • Embedded eci-performance-eii image for VM use

    Builds eci-performance-acrn with the addition of an embedded eci-performance-eii image for VM use.

    eci-performance-acrn-robotics

    acrn-sos for Vecow SPC-7100

    • All eci-performance-acrn feature options
    • Embedded eci-performance-robotics image with for VM use

    Builds eci-performance-acrn with the addition of an embedded eci-performance-robotics image for VM use.

  4. After building an ECI image, see section Installing ECI Images for information on installing the ECI image.

Custom Target Build Options

Important

Complete the pre-requisite section Setting up ECI Build before continuing this section.

  1. Open a terminal to the eci-release directory. In Ubuntu, you can right-click the empty space in the directory explorer and select “Open in Terminal”.

    _images/C.png
  2. At the terminal prompt, run the provided setup script without any parameters:

    $ ./setup.sh
    
    _images/04.png
  3. A menu prompt will appear with use case options. Select the custom option.

    _images/08.png
  4. After selecting the custom use case option, a menu will prompt to select an ECI target. Select an ECI target to build. Refer to the following table for links to build instructions for each ECI target.

    _images/09.png

    Click a target link below for instructions on building.

    ECI Target

    Description

    Instructions for building base-poky and preempt-buster target images.

    ECI-B provides the base essential ECI features.
    Instructions for building xenomai-poky and xenomai-buster target images.

    ECI-X provides the essential ECI features combined with the Xenomai kernel patches.
    Instructions for building acrn-sos and acrn-zephyr-ehl target images.

    ECI-A provides acrn-sos as a minimal image (without most ECI features) combined with the open-source ACRN type-1 hypervisor.
    acrn-zephyr-ehl combines zephyr and base-poky as prelaunch Virtual Machines (VM) on open-source ACRN type-1 hypervisor.
    Instructions for building Debian GNU/Linux rts-buster and legacy rts-poky target images.

    ECI-R provides the essential ECI features combined with the commerical RTS type-1 hypervisor.
  5. After building an ECI image, see section Installing ECI Images for information on installing the ECI image.