Attention

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

acrn-zephyr-ehl

The following section is applicable to:

../_images/linux1.png

This section provides the steps to build an ECI acrn-zephyr-ehl (ECI-A) image.

Prerequisite

Make sure that you complete the steps in Setting up ECI Build before proceeding to build an ECI acrn-zephyr-ehl image.

The ECI acrn-zephyr-ehl Yocto target image provides the ACRN Hypervisor, in logical mode, with Zephyr and base-poky as prelaunched VMs. Graphical User Interface (GUI) is not available with this build option. A serial console (COM port) interface is used to access ACRN, Zephyr, and Linux-RT VM command prompts.

Important

ACRN is only supported on specific target platforms. Refer to Validated Hardware Platforms for a list of platforms that support ACRN. To build ACRN for non-supported platforms, refer to Compiling ACRN for different platforms. This image can be run on Elkhart Lake customer reference boards (CRBs) and NexCOBOT SCB 100 boards.

Do the following to build the image:

  1. Run the setup script:

    $ ./setup.sh
    
    ../_images/setup1.png
  2. A list of pre-configured use cases will be displayed. Select custom to start configuring a custom build.

    ../_images/use-cases1.png
  3. A list of available build targets will be displayed. Select acrn-zephyr-ehl from the list.

    ../_images/011.png
  4. A list of build options to select type of Elkhart Lake board and type of application is displayed. Select or deselect the features that you want to include in the image. Use the arrow keys to scroll through the list of options and use the spacebar to toggle the state. Press enter to finalize the selection.

    ../_images/02-fusa.png
  5. A list of features available for acrn-zephyr-ehl will be displayed. Select or deselect the features that you want to include in the image. Use the arrow keys to scroll through the list of options and use the spacebar to toggle the state. Press enter to finalize the selection.

    ../_images/031.png

    The following table lists the available options:

    Feature Option

    Description

    SDK (build tools and dev pkgs)

    Adds GCC and Make to the target image.

    SSH Server

    Adds an SSH server to the target image.

    EC Protocol Bridge

    Edge Control Protocol Bridge bridges various industrial protocols together, effectively providing a translation from one protocol to another.

    CODESYS Software PLC

    CODESYS Software PLC provides a Linux runtime that allows control applications to execute on Linux-based systems. This feature requires a CODESYS .deb file to be added to the build environment.

    Kernel Debug*

    Enables Kernel debug capabilities on the target.

    Graphical Windowing System*

    Adds XFCE - a X11 based graphical window manager to the target image.

    Robot Operating System 2 (Foxy)

    Provides core essentials of ROS2 software

    XDP & BPF

    Allows packets to be reflected, filtered, or redirected without traversing networking stack. Selecting this feature will add eBPF and XDP features to the target image.

    KVM (including libvirt & virsh)

    Adds KVM and virtualization tools such as libvirt and virsh to the target image.

    Kubernetes

    Adds binaries required to join a Kubernetes cluster.

    Castle Lake Dependencies

    Adds kernel modules and tools necessary to support an Castle Lake Client.

    Intel® In-Band Manageability

    Intel® In-band Manageability enables an administrator to perform critical Device Management operations over-the-air remotely from the cloud. Selecting this feature will add Intel In-Band Manageability software to the target image.

    Intel® Time Coordinated Computing

    Enables Intel® Time Coordinated Computing Tools (Intel® TCC Tools) features.

    Note: Intel TCC Tools features are only supported

    on 11th Gen Intel® Core™ and Intel Atom® x6000E Series processors.

    Mender support

    Adds support for Mender remote update: https://mender.io/

    Kernel source

    Adds kernel source and header files to the target image.

    Time series processing

    Enables Time-series processing features.

    Security Enhanced Linux (SELinux)

    Adds SELinux: https://github.com/SELinuxProject/selinux

    Note: SELinux support is not fully complete yet!

    Use this feature only as a reference.

    *Experimental*

    Enables experimental features.

    Note: ACRN hypervisor version 2.7 is used for acrn-zephyr-ehl. This supports graphics passthrough and Linux VM can connect to a display/monitor.

    The setup script will begin configuring the assets needed to build the target image. Depending on the feature options selected and the state of the build environment, a few notifications might be displayed:

    • Build directory already exists

      If the setup script is not building the target for the first time, the script will prompt: Build directory ecs-acrn-zephyr-ehl already exists. Do you want to clean the cached build? y/[n]

      ../_images/041.png

      Press n to retain the target build cache or press y to delete the target build cache.

    Note: It is recommended that you delete the target build cache if the target source was modified or the previous build was incomplete. Retaining the target build cache will reduce the build time, but might cause build errors if the target source was modified or the previous build was incomplete. If build errors occur, rerun the setup script and choose y at this prompt.

    For all other notifications, click the following links:

  6. After setting up the build target, the script will prompt: Do you want to run an automated build? y/[n].

    ../_images/A.png

    To perform an automated build, press y at the prompt.

    ../_images/A.png

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 Linux Build System for the recommended specifications.

../_images/B1.png

Note: Final image consists of Zephyr and Linux, which can be launched by ACRN in the sbl_os container image format, bootable by sbl_os. You can point to a different signing key file by overwriting PREGENERATED_SIGNING_KEY_SLIMBOOT_KEY_SHA256 variable or by replacing the key file contents of /meta-acrn-tgr/meta-acrn-tgr-poky/cert/OS1_TestKey_Pub_RSA2048_priv.pem to match the one in Intel® Elkhart Lake Slim Bootloader (SBL) (Intel RDC#616714) used to build SBL and IFWI binary file. Refer to section Create Container Boot Image in Sbl_Ehl_ReleaseNotes.pdf (part of Intel® Elkhart Lake Slim Bootloader (SBL) (Intel RDC#616714)) for information regarding SBL bootable Container Boot Image format. Steps to generate signing keys is outside of the scope of this documentation.

After the build completes, refer Installing ECI-A to create a bootable USB flash drive to install the ECI-A image.