Attention

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

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:

_images/linux.png
  1. Open a terminal to the eci-release directory. In Ubuntu, 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/setup.png
  3. A menu prompt will list the use case options.

    _images/use-cases.png

    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

    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 (including 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. 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.

    _images/B.png
  5. 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