acrn-zephyr-ehl¶
The following section is applicable to:

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:
Run the setup script:
$ ./setup.sh
A list of pre-configured use cases will be displayed. Select
custom
to start configuring a custom build.A list of available build targets will be displayed. Select
acrn-zephyr-ehl
from the list.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.
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.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]
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:
After setting up the build target, the script will prompt:
Do you want to run an automated build? y/[n]
.To perform an automated build, press y at the prompt.
To perform a manual build, press n at the prompt. The setup script will display a completion message and the steps that you need to perform a build manually.
Perform the steps provided by the setup script. These steps will start the build process. In this example, the following steps are performed:
$ cd /home/eci/Desktop/eci-release/build/ecs-acrn-zephyr-ehl/poky $ source oe-init-build-env ../build $ bitbake ecs-image-base-poky
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.
![]()
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.