[Announce] ACRN Open Source Ver2.5 Release Notes

Zou, Terry

Hi all, 

We are very pleased to announce Version 2.5 release of ACRN. You can see the release blog from https://projectacrn.org/blog/ and detailed Release Notes in website https://projectacrn.github.io/latest/release_notes/release_notes_2.5.html

What’s New in v2.5

·       Nested Virtualization Technology Preview:

A brand-new concept, nested virtualization, is introduced as a preview in this v2.5 release. Nested virtualization lets you run virtual machine instances inside of a guest VM that’s running on the ACRN hypervisor. It’s designed to leverage the KVM/QEMU community’s rich feature set while keeping ACRN’s unique advantages in partition mode and hybrid mode. Read more in the Enable Nested Virtualization advanced guide.

·       Secure Boot Using EFI Stub:

EFI stub, previously retired in favor of using direct boot, returns as an alternative to end-to-end secure boot with Grub. The hypervisor, Service VM kernel, and prelaunched VM kernel are packaged into a single acrn.efi blob as an EFI application that can then be verified by the EFI BIOS. Read more in the Enable ACRN Secure Boot With EFI-Stub and Enable ACRN Secure Boot With GRUB advanced guides.

·       Modularization Improvements:

ACRN hypervisor modularization has been improved to be more scalable, including change to multiboot, interrupt handling, paging and memory management, and timers, with more to come in future releases.

·       Configuration and Build Process Improvements:

The ACRN configuration and build process continues to evolve from the changes made in the previous releases. For instructions using the build system, refer to Build ACRN From Source. For an introduction on the concepts and workflow of the configuration tools and processes, refer to Introduction to ACRN Configuration.


·       Document Updates:

With the changes to ACRN configuration, we made updates to the ACRN documentation around configuration, options, and parameters:

²  Introduction to ACRN Configuration

²  Scenario Configuration Options

²  Device Model Parameters

²  ACRN Kernel Parameters

New capabilities are documented here:

²  Enable Nested Virtualization

We’ve also made edits throughout the documentation to improve clarity, formatting, and presentation throughout the ACRN documentation:

²  Contribution Guidelines

²  Documentation Guidelines

²  AHCI Virtualization in Device Model

²  Device Passthrough

²  Hypercall / VHM Upcall

²  Timer

²  L1 Terminal Fault Mitigation

²  ACRN Hypervisor: Modular Design

²  Software Design Guidelines

²  Trusty TEE

²  Build ACRN From Source

²  Getting Started Guide

²  Supported Hardware

²  Enable ACRN Over QEMU/KVM

²  ACRN Documentation Generation

²  Enable Inter-VM Communication Based on Ivshmem

²  Run Debian as the Service VM

²  Trusty and Security Services Reference

²  Getting Started Guide for ACRN Hybrid Mode

²  Enable Serial Port on NUC


See the v2.5 full release notes and documentation for more information about this release including fixed and known issues.

Upgrading to v2.5 From Previous Releases

We highly recommended that you follow the instructions below to upgrade to v2.5 from previous ACRN releases.

·       Generate New Board XML

Board XML files, generated by ACRN board inspector, contain board information that is essential to build ACRN. Compared to previous versions, ACRN v2.5 extends the schema of board XMLs to summarize board information more systematically. You must regenerate your board XML file using the new board inspector when you upgrade to ACRN v2.5 to get the additional information needed for configuration.

Before using the new board inspector, ensure you have Python >= 3.6 on the target board and install the lxml PyPI package. Refer to Additional Dependencies for detailed steps to check and upgrade your Python version. The lxml package can be installed by executing the following command:

$ sudo pip3 install lxml 

Note: Refer to Using ACRN Configuration Toolset for a complete list of tools required to run the board inspector

With the prerequisites done, copy the entire board inspector folder from misc/config_tools/board_inspector to the target board, cd to that directory on the target, and run the board inspector tool using:

$ sudo python3 cli.py <my_board_name> 

This will generate <my_board_name>.xml in the current working directory. You’ll need to copy that XML file back to the host system to continue development.

·       Add New Configuration Options

In v2.5, the following elements are added to scenario XML files:

² vm.PTM

The following element is renamed:


Constraints on values of the following element have changed:

² vm.guest_flags.guest_flag no longer accepts an empty text. For VMs with no guest flag set, set the value to 0.


Best & Regards