legacy-poky-acrn¶
The following section is applicable to:

The ECI legacy-poky-acrn
Yocto target image provides the ACRN Hypervisor, service OS (SOS), and software utilities to manage virtual machines (VMs).
Important
ACRN is only supported on specific target platforms. For a list of platforms that support ACRN, refer to Validated Hardware Platforms. To build ACRN for non-supported platforms, refer to Compile ACRN for Different Platforms.
This section provides the steps to build an ECI legacy-poky-acrn
image.
Prerequisites for Building legacy-poky-acrn¶
Before building the ECI legacy-poky-acrn
installation image, make sure that you have:
Run the
setup.sh
script and selectedlegacy-poky-acrn
as the ECI target to build (Step 1 to Step 3 in Build ECI Targets).
Build ECI legacy-poky-acrn Image¶
After you select
legacy-poky-acrn
from the list of available build targets, a menu will display the available target hardware platforms. Select a target hardware platform.The ACRN hypervisor will be compiled based on the selected target hardware platform. The following table lists the available target hardware platforms:
Target Hardware Platform
Description
Maxtang WHL i5
Vecow SPC-7100 TGL i7
K700 CFL i7
EHL-CRB Atom
Elkhart Lake Customer Reference Board
TGL-RVP i7
Tiger Lake Reference Validation Platform
Select the target hardware platform. Use the arrow keys to move the selection and spacebar to toggle the state. When complete, press the enter key to finalize the selection.
Next, the features will be displayed allowing you to modify the build configuration of the
legacy-poky-acrn
target image.The following table lists the available options:
Feature Option
Description
SDK (build tools)
Adds GCC and Make to the target image.
Intel® Castle Lake Dependencies
Adds kernel modules and tools necessary to support an Intel® Castle Lake Client.
Intel® Time Coordinated Computing
Enables Intel® Time Coordinated Computing features.
Note:
Intel TCC Tools features are only supported on 11th Gen Intel® Core™ and Intel Atom® x6000E Series processors.
Trusted VM
Embed a pre-launched VM to manage TPM access.
Secure Boot
Creates a signed bootloader and boot artifacts for use with Secure Boot.
Kubernetes
Adds binaries required to join a Kubernetes cluster.
Kernel source
Adds kernel source & header files to the target image.
*Experimental*
Enables experimental features.
Select/deselect features to be included in the image. Use the arrow keys to move the selection and spacebar to toggle the state. When complete, press the enter key to finalize the selection.
The setup script will begin downloading and configuring the assets needed to build the target image. Depending on the feature options selected and state of the build environment, a few notifications may occur.
Build directory already exists
If the setup script is not building the target for the first time, the script will prompt:
Build directory eci-legacy-poky-acrn 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 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.
After setting up the build target, a prompt will check whether you want to run an automated build:
Do you want to run an automated build? [Y/n]
.
Note: Automated builds give the option to automatically build and embed ECI images as ACRN VMs. If you are a novice user of ACRN, it is recommended that you choose to perform an automated build.
![]()
To perform an automated build, press y at the prompt.
![]()
After selecting to perform an automated build, the prompt
Embed an ECI image for use as an ACRN VM?
will appear. This prompt gives the ability to automatically build an ECI image and have it embedded into the ACRN image so that it can be launched as a VM using the VM launch scripts. To embed an ECI image as an ACRN VM, selectYes
at the prompt.Note: This automated build will overwrite any existing build.
![]()
If you opt to embed an ECI image, a menu will appear with the available ECI image options. Select an ECI image to build and embed as an ACRN VM.
![]()
To perform a manual build, press n at the prompt. The setup script will output a completion message with the steps necessary to perform a build manually.
![]()
Notice that Step 3 output by the setup script has two forms:
Option A - Build an image with only the ACRN hypervisor:
$ bitbake acrn-image-minimalOption B - Build an image with the ACRN hypervisor and embedded ECI images for use as VMs:
$ UOS_TARGET="<target>" BB_ENV_PASSTHROUGH_ADDITIONS="UOS_TARGET" bitbake acrn-image-minimalBuilding Option A - ACRN hypervisor only:
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 $ source targets/layers/poky/oe-init-build-env /home/eci/Desktop/eci-release/build/eci-legacy-poky-acrn $ bitbake acrn-image-minimal![]()
Building Option B - ACRN hypervisor with embedded ECI image VMs:
Perform the alternative steps provided by the setup script, replacing
target
with one or more ECI target images of choice. These steps will start the build process.Important
Make sure that the ECI target name that you specify for
UOS_TARGET
is already built. Specifying an ECI target that is not yet built will cause the ACRN build to fail! For information on building targets, refer to section Build ECI Targets.Note: Embedded ECI targets are copied to the ACRN image at
/var/lib/machines/images/eci-image-<distribution>-minimal_vm#.wic
in the order in which they are specified forUOS_TARGET
. The embedded VM name will follow the patterneci-image-<distribution>-minimal_vm1.wic
, wheredistribution
can be eitherbullseye
orjammy
, andvm1
will increment in count for each additional ECI target copied.Examples of Embedding ECI Targets
Here are some examples on embedding ECI targets:
Example 1: Embed ECI target
core-bullseye
This example will embed ECI target
core-bullseye
aseci-image-bullseye-minimal_vm1.wic
at/var/lib/machines/images
in the ACRN image.$ cd /home/eci/Desktop/eci-release $ source targets/layers/poky/oe-init-build-env /home/eci/Desktop/eci-release/build/eci-legacy-poky-acrn $ UOS_TARGET="core-bullseye" BB_ENV_PASSTHROUGH_ADDITIONS="UOS_TARGET" bitbake acrn-image-minimal![]()
Example 2: Embed ECI targets
core-bullseye
andcore-jammy
This example will embed ECI targets
core-bullseye
andcore-jammy
aseci-image-bullseye-minimal_vm1.wic
andeci-image-jammy-minimal_vm2.wic
respectively at/var/lib/machines/images
in the ACRN image.$ cd /home/eci/Desktop/eci-release $ source targets/layers/poky/oe-init-build-env /home/eci/Desktop/eci-release/build/eci-legacy-poky-acrn $ UOS_TARGET="core-bullseye core-jammy" BB_ENV_PASSTHROUGH_ADDITIONS="UOS_TARGET" bitbake acrn-image-minimal![]()
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 four hours to complete. Refer to Linux build system for the recommended specifications.

What Next after Building legacy-poky-acrn¶
After the build completes, refer to Install ECI Image with Yocto-based ACRN (Legacy) to create a bootable USB flash drive to install the legacy-poky-acrn
image.