Project ACRN™
2.5
Project ACRN
v: 2.5
Document Versions
latest
2.4
2.3
2.2
2.1
2.0
1.6.1
1.6
1.5
1.4
1.0
projectacrn.org links
Project Home
Wiki
Documentation Home
What Is ACRN
Introduction to Project ACRN
ACRN Open Source Roadmap
ACRN High-Level Architecture
Usage Scenarios
Industrial Workload Consolidation
Automotive Application Scenarios
Best Known Configurations
SDC Scenario
Industry Scenario
Hybrid Scenario
Hybrid Real-Time (RT) Scenario
Logical Partition Scenario
Licensing
ACRN Device Model, Service VM, and User VM
Boot Sequence
ACRN Hypervisor Architecture
ACRN Device Model Architecture
Device Passthrough
Hardware Support for Device Passthrough
Hypervisor Support for Device Passthrough
ACRN I/O Mediator
Virtio Framework Architecture
Getting Started
Supported Hardware
Minimum System Requirements for Installing ACRN
Minimum Requirements for Processor
Known Limitations
Tested Platforms by ACRN Release
Tested Hardware Specifications Detail
Getting Started Guide
Introduction
Verified Version
Prerequisites
Hardware Connection
Install the Ubuntu User VM (RTVM) on the SATA Disk
Install the Ubuntu Service VM on the NVMe Disk
Build and Install ACRN on Ubuntu
Pre-Steps
Build the ACRN Hypervisor on Ubuntu
Build and Install the ACRN Kernel
Install the Service VM Kernel and Modules
Update Grub for the Ubuntu Service VM
Enable Network Sharing for the User VM
Reboot the System
Additional Settings in the Service VM
Launch the RTVM
Update the Grub File
Launch the RTVM
Launch the Windows VM
Troubleshooting
Enabling the Network on the RTVM
Passthrough a Hard Disk to RTVM
Build ACRN From Source
Install Build Tools and Dependencies
Get the ACRN Hypervisor Source Code
Build With the ACRN Scenario
Modify the Hypervisor Configuration
Getting Started Guide for ACRN Industry Scenario With ROScube-I
Verified Version
Architecture
Prerequisites
Install ACRN Hypervisor
Set Up Environment
Configure Hypervisor
Install Service VM Kernel
Build Service VM Kernel
Update Grub
Install User VM
Before Create User VM
Create User VM Image
Run User VM
Install Real-Time VM
Copy Real-Time VM Image
Set Up Real-Time VM
Run Real-Time VM
Customizing the Launch File
CPU
Memory
Ethernet
USB
GPIO
Getting Started Guide for ACRN Hybrid Mode
Set-up base installation
Prepare the Zephyr image
Set-up ACRN on your device
Update Ubuntu GRUB
Hybrid Scenario Startup Check
Getting Started Guide for ACRN Logical Partition Mode
Validated Versions
Prerequisites
Update Kernel Image and Modules of Pre-Launched VM
Update ACRN Hypervisor Image
Update Ubuntu GRUB to Boot Hypervisor and Load Kernel Image
Logical Partition Scenario Startup Check
Advanced Guides
Configuration and Tools
Introduction to ACRN Configuration
Types of Configurations
Using ACRN Configuration Toolset
ACRN Configuration Data
Use the ACRN Configuration Editor
Scenario Configuration Options
Common Option Value Types
hv
vm
ACRN Hypervisor Parameters
Generic Hypervisor Parameters
ACRN Kernel Parameters
Generic Kernel Parameters
Intel GVT-g (AcrnGT) Parameters
ACRN Shell Commands
Command Examples
Device Model Parameters
ACRN-Crashlog
Introduction
Building
Installing
Enabling/Disabling
Usage
Source Code
ACRN Installation via Debian Packages
Set Up Prerequisites
Configure Debian Packaging Details
Run the Package-Building Script
Prepare Your Target System With Ubuntu 18.04
Install Debian Packages on Your Target System
Boot ACRN Using the Multiboot2 Grub Choice
Verify ACRN Is Running
Acrnprobe
Description
Usage
Architecture
Source Files
Configuration Files
Acrnprobe Configuration
Description
Layout
Properties of Group Members
Crash Tree in Acrnprobe
Sections
Usercrash
Description
Design
Usage
Source Code
Acrnlog
Description
Usage
Build and Install
Acrntrace
Description
Usage
Build and Install
Acrnctl and Acrnd
Description
Acrnd
Build and Install
Service VM Tutorials
Run Debian as the Service VM
Prerequisites
Validated Versions
Install ACRN on the Debian VM
Enable Network Sharing to Give Network Access to the User VM
Using Yocto Project With ACRN
The meta-acrn Layer
User VM Tutorials
Launch Windows as the Guest VM on ACRN
ACRN Service VM Setup
Setup for Using Windows as the Guest VM
ACRN Windows Verified Feature List
Explanation for acrn-dm Popular Command Lines
Secure Boot Enabling
Activate Windows 10
Run Ubuntu as the User VM
Prerequisites
Build the Ubuntu KVM Image
Launch the Ubuntu Image as the User VM
Enable the Ubuntu Console Instead of the User Interface
Run Debian as the User VM
Prerequisites
Build the Debian KVM Image
Launch the Debian Image as the User VM
Enable the ttyS0 Console on the Debian VM
Run Xenomai as the User VM OS (Real-Time VM)
Build the Xenomai Kernel
Launch the RTVM
Install the Xenomai Libraries and Tools
Run VxWorks as the User VM
Steps for Using VxWorks as User VM
Run Zephyr as the User VM
Introduction to Zephyr
Steps for Using Zephyr as User VM
Enable ACRN Features
Enable SGX Virtualization
High Level ACRN SGX Virtualization Design
Enable SGX Support for Guest
SGX Capability Exposure
Enclave System Function Handling
Other VMExit Control
Future Development
Enable Nested Virtualization
High Level ACRN Nested Virtualization Design
Restrictions and Constraints
Service OS VM configuration
Prepare for Service VM Kernel and rootfs
Launch a Nested Guest VM
Enable vUART Configurations
Introduction
Console Enable List
How to Configure a Console Port
How to Configure a Communication Port
Communication vUART Enable List
Launch Script
Test the Communication Port
vUART Design
COM Port Configurations for Post-Launched VMs
Use PCI-vUART
PCI Interface of ACRN vUART
Index of vUART
Setup ACRN vUART Using Configuration Tools
Kernel Config for Legacy vUART
Kernel Cmdline for PCI-vUART Console
Enable RDT Configuration
RDT Detection and Resource Capabilities
Tuning RDT Resources in HV Debug Shell
Configure RDT for VM Using VM Configuration
Enable Secure Boot in Windows
Generate Platform Key (PK)
Download KEK and DB From Microsoft
Compile OVMF With Secure Boot Support
Use QEMU to Inject Secure Boot Keys Into OVMF
Enable S5 in ACRN
Introduction
S5 Architecture
Enable S5
How to Test
System Shutdown
Enable CPU Sharing in ACRN
Introduction
Scheduling Framework
CPU Affinity
Thread Object State
Scheduler
Example
Enable SR-IOV Virtualization
SR-IOV Architectural Overview
Enable GVT-d in ACRN
Introduction
Verified Version
Prerequisites
Supported Hardware Platform
BIOS Settings
Passthrough the GPU to Guest
Enable the GVT-d GOP Driver
Run Kata Containers on a Service VM
Prerequisites
Install Docker
Install Kata Containers
Run a Kata Container With ACRN
Trusty and Security Services Reference
Trusty Architecture
Trusty Services
Trusty in ACRN
Real-Time VM Application Design Guidelines
Run RTVM With Dedicated Resources/Devices
RTVM With Virtio PMD (Polling Mode Driver) for I/O Sharing
RTVM With HV Emulated Device
DM Emulated Device (Except PMD)
Configure ACRN Using OpenStack and Libvirt
Introduction
Install ACRN
Set Up and Launch LXC/LXD
Set Up ACRN Prerequisites Inside the Container
Set Up Libvirt
Set Up OpenStack
Configure and Create OpenStack Instance
Final Steps
Enable ACRN Over QEMU/KVM
Prerequisites
Prepare Service VM (L1 Guest)
Install ACRN Hypervisor
Bring-Up User VM (L2 Guest)
Using GRUB to Boot ACRN
Using Pre-Installed GRUB
Installing Self-Built GRUB
Enable ACRN Secure Boot With GRUB
ACRN Secure Boot Sequence
Generate GPG Key
Setup Standalone GRUB EFI Binary
Enable UEFI Secure Boot
Enable ACRN Secure Boot With EFI-Stub
Introduction
Verified Configurations
Building
Installing (without SB for testing)
Signing
Pre-Launched Preempt-Rt Linux Mode in ACRN
Prerequisites
Example of Pre-Launched RT
Enable Inter-VM Communication Based on Ivshmem
Enable Ivshmem Support
Ivshmem DM-Land Usage
Ivshmem HV-Land Usage
Ivshmem Notification Mechanism
Inter-VM Communication Examples
Debug
Enable Serial Port on NUC
Option 1: Using the Serial Port on TGL Intel NUC
Option 2: Enabling PCIe Serial Port on TGL Intel NUC
ACRN Debugging Tools
ACRN Console Command
An Example
ACRN Log
ACRN Trace
ACRN Real-Time (RT) Performance Analysis
vmexit Analysis for ACRN RT Performance
Collecting Performance Monitoring Counters Data
ACRN Real-Time VM Performance Tips
Background
Mandatory Options for an RTVM
Avoid VM-exit Latency
Isolating the Impact of Neighbor VMs
Miscellaneous
Developer Reference
Design Guides
ACRN Hypervisor: Modular Design
Overview
Principles
Architecture
References
High-Level Design Guides
Overview
Hypervisor
Device Model
Emulated Devices
Virtio Devices
Power Management
Tracing and Logging
Virtual Bootloader
Security
Software Design Guidelines
Error Detection and Error Handling
Module Level Configuration Design Guidelines
References
GVT-g Enabling and Porting Guide
Introduction
Purpose of This Document
Overall Components
Core Scenario Interaction Sequences
API Details
Trusty TEE
Introduction
Trusty Architecture
Trusty Specific Hypercalls
Trusty Boot Flow
EPT Hierarchy
L1 Terminal Fault Mitigation
Overview
L1TF Problem in ACRN
L1TF Mitigation in ACRN
Mitigation Recommendations
Mitigation Status
VBS-K Framework Virtualization Overhead Analysis
Introduction
Architecture of VIRTIO-ECHO
Virtualization Overhead Analysis
Conclusion
Contribute Guides
Contribution Guidelines
Licensing
Developer Certification of Origin (DCO)
Prerequisites
Repository Layout
Submitting Issues
Contribution Tools and Git Setup
Coding Style
Contribution Workflow
Commit Guidelines
Coding Guidelines
C Programming Language Coding Guidelines
Assembly Language Coding Guidelines
Documentation Guidelines
Headings
Content Highlighting
Lists
Multi-Column Lists
Tables
File Names and Commands
Branch-Specific File Links
Internal Cross-Reference Linking
Non-ASCII Characters
Code and Command Examples
Images
Tabs, Spaces, and Indenting
Drawings
Alternative Tabbed Content
Instruction Steps
First Instruction Step
Second Instruction Step
Configuration Option Documentation
Documentation Generation
Drawings Using Graphviz
Simple Directed Graph
Adding Edge Labels
Tables
Finite-State Machine
ACRN Documentation Generation
Documentation Overview
Set Up the Documentation Working Folders
Install the Documentation Tools
Documentation Presentation Theme
Run the Documentation Processors
Publish Content
Document Versioning
Filter Expected Warnings
API Documentation
API Documentation
Hypercall APIs
Device Model APIs
ACRN GVT-g APIs
Release Notes
ACRN v2.5 (Jun 2021)
What’s New in v2.5
Upgrading to v2.5 From Previous Releases
Generate New Board XML
Add New Configuration Options
Document Updates
Fixed Issues Details
Known Issues
ACRN v2.4 (Apr 2021)
What’s New in v2.4
ACRN Configuration and Build
Upgrading to v2.4 From Previous Releases
Additional Dependencies
Configuration File Format
New Configuration Options
Build Commands
Patches on Generated Sources
Document Updates
Deprivileged Boot Mode Support
Fixed Issues Details
Known Issues
ACRN v2.3 (Dec 2020)
What’s New in v2.3
Document Updates
Fixed Issues Details
Known Issues
ACRN v2.2 (Sep 2020)
What’s New in v2.2
Document Updates
Fixed Issues Details
Known Issues
ACRN v2.1 (Aug 2020)
What’s New in v2.1
Fixed Issues Details
Known Issues
ACRN v2.0 (Jun 2020)
Version 2.0 Key Features (Comparing With v1.0)
ACRN Architecture Upgrade to Support Hybrid Mode
New Hardware Platform Support
Pre-Launched Safety VM Support
Post-Launched VM Support via OVMF
Post-Launched Real-Time VM Support
Real-Time VM Performance Optimizations
CPU Sharing Support
Large Selection of OSs for User VMs
GRUB Bootloader
SR-IOV Support
Graphics Passthrough Support
Shared Memory Based Inter-Vm Communication
Configuration Tool Support
Kata Containers Support
VM Orchestration
Document Updates
Fixed Issues Details
Known Issues
ACRN v1.6.1 (May 2020)
Version 1.6.1 Major Features
What’s New in v1.6.1
Document Updates
Fixed Issues Details
Known Issues
Change Log
ACRN v1.6 (Mar 2020)
Version 1.6 Major Features
What’s New in v1.6
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.5 (Jan 2020)
Version 1.5 Major Features
What’s New in v1.5
Document Updates
Fixed Issues Details
Known Issues
Change Log
ACRN v1.4 (Oct 2019)
Version 1.4 Major Features
What’s New in v1.4
Document Updates
Security Vulnerabilities
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.3 (Sep 2019)
Version 1.3 Major Features
What’s New in v1.3
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.2 (Aug 2019)
Version 1.2 Major Features
What’s New in v1.2
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.1 (Jun 2019)
Version 1.1 Major Features
Hybrid Mode Introduced
Support for New Guest Operating Systems
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v1.0.2 (Nov 2019)
Change Log in v1.0.2 Since v1.0.1
ACRN v1.0.1 (July 2019)
Change Log in Version 1.0.1 Since Version 1.0
ACRN v1.0 (May 2019)
Version 1.0 Major Features
Hardware Support
APL UP2 Board With SBL Firmware
Enable Post-Launched RTVM Support for Real-Time UOS in ACRN
Enable Cache QOS With CAT
Enable QoS Based on runC Container
S5 Support for RTVM
OVMF Support Initial Patches Merged in ACRN
Support ACPI Power Key Mediator
VT-x, VT-d
PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC
Ethernet
Mass Storage
USB (xDCI)
USB Mediator (xHCI)
Wi-Fi
IPU (MIPI CSI-2, HDMI-In)
Bluetooth
GVT-g for ACRN
GPU - Preemption
GPU - Display Surface Sharing via Hyper DMA
Virtio Standard Is Supported
Device Pass-Through Support
GPIO Virtualization
New ACRN Tools
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v0.8 (Apr 2019)
Version 0.8 New Features
GPIO Virtualization
Enable QoS Based on runC Container
S5 Support for RTVM
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v0.7 (Mar 2019)
Version 0.7 New Features
Enable Cache QOS With CAT
Support ACPI Power Key Mediator
Document Updates
New Features Details
Fixed Issues Details
Known Issues
Change Log
ACRN v0.6 (Feb 2019)
Version 0.6 New Features
Fixed Issues
Known Issues
Change Log
ACRN v0.5 (Jan 2019)
Version 0.5 New Features
Fixed Issues
Known Issues
Change Log
ACRN v0.4 (Dec 2018)
Version 0.4 New Features
Fixed Issues
Known Issues
Change Log
ACRN v0.3 (Nov 2018)
Version 0.3 New Features
Fixed Issues
Known Issues
Change Log
ACRN v0.2 (Sep 2018)
Version 0.2 New Features
VT-x, VT-d
PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC
Ethernet
Storage (eMMC)
USB (xDCI)
USB Mediator (xHCI and DRD)
CSME
WiFi
IPU (MIPI-CS2, HDMI-In)
Bluetooth
GPU - Preemption
GPU - Display Surface Sharing via Hyper DMA
S3
Fixed Issues
Known Issues
Change Log
ACRN v0.1 (July 2018)
Version 0.1 New Features
Hardware Support
GVT-g for ACRN
Virtio Standard Is Supported
Device Pass-Through Support
Hypervisor Configuration
New ACRN Tools
Known Issues
Change Log
Security Advisory
Addressed in ACRN v2.5
Addressed in ACRN v2.3
Addressed in ACRN v2.1
Addressed in ACRN v1.6.1
Addressed in ACRN v1.6
Addressed in ACRN v1.4
FAQ
What Hardware Does ACRN Support?
How Do I Configure ACRN’s Memory Size?
Why Does ACRN Need to Know How Much RAM the System Has?
Glossary of Terms
Index
Project ACRN™
2.5
»
Search
Please activate JavaScript to enable the search functionality.