Category

Blog

Project ACRN at Embedded World 2019

By Blog

Embedded World 2019, held in Nuremberg, Germany, showcased the best of the embedded and IoT industry’s latest innovations and trends to over 30,000 visitors. Project ACRN™ was present at the Linux Foundation’s Zephyr™ Project booth. The Zephyr Project is a small, scalable open-source Real-Time Operating System (RTOS) for IoT embedded devices. ACRN is a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind.

Project ACRN and Zephyr Project engineering teams are collaborating to make one of the hottest trends a reality: workload consolidation, the ability to run multiple, heterogeneous functions on a single embedded system. While there are many techniques to do this, few offer a path that supports deterministic, real-time workloads or sub-systems that are Functional Safety (FuSa) certifiable. Zephyr combined with ACRN, now offers such a path forward.

At Embedded World 2019, we demonstrated the Zephyr RTOS running in an ACRN Virtual Machine (VM) in a real-time configuration, while concurrently showing a Clear Linux VM running an Artificial Intelligence (AI) object detection algorithm.

These are exciting times to live in with such transformations and innovation happening in the industry. ACRN and Zephyr are at the forefront of the innovation bringing new, open-source solutions that will help the embedded and IoT industry segments transform for the future.

ACRN Look Ahead in 2019

By Blog

2019 will be an exciting year for project ACRN. Several big things are planned:

  • By early Q2, we’ll welcome ACRN v1.0 and provide a stable software reference for Software-Defined-Cockpit (SDC) usage on Intel Apollo Lake platforms.
  • Real-Time OS will be supported, opening use of ACRN in industrial scenarios needing low latency, and fast, predictable responsiveness. Initial support is for VxWorks and Zephyr OS as Real-Time guest OSes in Q2, and PREEMPT-RT Linux in Q3.
  • A new ACRN Hybrid Mode will be completed in Q2, giving ACRN the ability to run mixed-criticality workloads. For example, running a Real-Time Guest OS with a time sensitive application and dedicated hardware resources assigned, together with a normal priority Guest OSes (UOS) running with Service OS (SOS) and sharing the remaining hardware devices.
  • Windows as Guest (WaaG) will be officially supported in Q4, but you will see incremental features merged before that. For example, we’ll soon introduce a virtual boot loader, OVMF, that enables UEFI support for Virtual Machines required for supporting WaaG.
  • Kata Containers will be supported in Q3. Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs.
  • More I/O device virtualization will be implemented to enrich ACRN’s IoT device hypervisor capability, including GPIO virtualization in Q1, I2C virtualization in Q2 and Intel GPU Gen11 support in Q4.
  • CPU sharing will be a big thing for ACRN. Typically used for embedded systems, a partitioned CPU will be assigned to a Guest VM to benefit the isolation and fast response from hardware. There’s also a requirement for non-critical usage for sharing CPU cores among multiple VMs to better support Kata container.
  • Functional Safety (FuSa) certification process will be applied to ACRN core feature development, and ultimately help ACRN be deployed in industrial or automotive (SDC) uses.

*More details can be found in “ACRN Open Source Roadmap 2019”

ACRN Project Releases Version 0.6

By Blog

ACRN has released version 0.6 (see the release notes and documentation), an updated revision of the project with significant new features and fixed bugs. The project team encourages you to learn more about ACRN and try it out, and also to join the weekly technical call.

The major new and updated features are summarized in the release notes, along with bugs fixed and known issues. These are the new features in 0.6:

New Features:

Enable Privileged VM support for real-time UOS in ACRN: Initial patches to enable a User OS (UOS) running as a virtual machine (VM) with real-time characteristics, also called a “Privileged VM”. We’ve published a tutorial Using PREEMPT_RT-Linux for real-time UOS. More patches for ACRN real time support will continue.

Documentation Updates:

Fixed Issues:

See the release notes.

Known Issues:

See the release notes.

ACRN Project Releases Version 0.5

By Blog

ACRN has released version 0.5 (see the release notes and documentation), an updated revision of the project with significant new features and fixed bugs. The project team encourages you to learn more about ACRN and try it out, and also to join the weekly technical call.

The major new and updated features are summarized in the release notes, along with bugs fixed and known issues. These are the new features in 0.5:

New Features:

OVMF support initial patches merged in ACRN: To support booting Windows as a Guest OS, we are using Opensource Virtual Machine Firmware (OVMF). The initial patches to support OVMF have been merged into the ACRN hypervisor. Note: There will be additional patches for ACRN and patches upstreaming to OVMF.

UP2 board serial port support: This release enables serial port debugging on UP2 boards during SOS and UOS boot.

One E2E binary to support all UEFI platform: ACRN can support both ApolloLake (APL) and KabbyLake (KBL) NUCs. Instead of having separate builds, this release offers community developers a single end-to-end reference build that supports both UEFI hardware platforms, configured with a new boot parameter. See: Getting Started for more information.

APL UP2 board with SBL firmware: With this 0.5 release, ACRN now supports APL UP2 board with slim Bootloader (SBL) firmware. Slim Bootloader is a modern, flexible, light-weight, open source reference boot loader with key benefits such as speed, small footprint, customizable, and security. An end-to-end reference build with ACRN hypervisor, Clear Linux as SOS, and Clear Linux as UOS has been verified on UP2/SBL board. See the Using SBL on UP2 Board documentation for step-by-step instructions.

Documentation Updates:

Fixed Issues:

See the release notes.

ACRN Project Releases Version 0.4

By Blog

ACRN has released version 0.4 (see the release notes and documentation), a new updated revision of the project with many added features and fixed bugs. The project team encourages you to learn more about ACRN and try it out, and also to join the weekly technical call.

The major new and updated features are summarized in the release notes, along with bugs fixed and known issues. These are the new features in 0.4:

Documentation Updates:

GSG Guide has been updated to avoid the “black screen” issue.

The tutorial “Using Ubuntu as the Service OS” was refreshed.

New Features:

Implemented “wbinvd” emulation for cache write-back.

The script “launch_uos.sh” was simplified to default to the latest iot-lts2018 kernel by default.

Fixed Issues:

See the release notes.

ACRN Project at Open Source Summit/IoT Summit/Embedded Linux Conference Europe

By Blog

The ACRN Project made a splash at the Open Source Summit/Embedded Linux Conference Europe/OpenIoT Summit in October in Edinburgh, UK. In addition to being featured in an ongoing demo in the Intel booth at the conference, project architect Eddie Dong presented ACRN: A Big Little Hypervisor for IoT Developmentto a packed room with 112 attendees.

ACRN continues to be very well-received in automotive, industrial, and other IoT industries as an IoT-friendly lightweight hypervisor with a very small codebase. The project is concerned with making the hypervisor easier to certify for Functional Safety, which was of particular interest at this event due to the attendance of European automotive electronics companies. ACRN offers flexibility by allowing guest operating systems to share devices between VMs, or to create completely isolated hardware partitions. The ACRN demo showed that ACRN performs extremely well and provides support for Linux-based guest operating systems, with RTOS and other alternatives on the roadmap.

ACRN is a fully open source project hosted by the Linux Foundation. For more information about ACRN, lightweight hypervisor technology, and the potential for collaboration on your project, visit https://projectacrn.org.

ACRN Project Releases Version 0.3

By Blog

ACRN has released version 0.3 (see the release notes), a new updated revision of the project with many added features and fixed bugs. The project team encourages you to learn more about ACRN and try it out, and also to join the weekly technical call.

The major new and updated features are summarized in the release notes, along with bugs fixed and known issues. These are the new features in 0.3:

High level design document: The high level design documents are completed with refreshed content, including: CPU virtualization, GPU virtualization, memory management, VM management, physical interrupt, timer management, CPU P-state and C-statke management, S3/S5 management, power management in hypervisor, static CPU core partition, VT-d design, device pass-through, device model, I/O emulation, Virtio supported devices, USB virtualization, random device virtualization, ACRN trace, ACRN log, hypervisor console.

CSME sharing support: Intel® Converged Security and Management Engine (Intel® CSME) is used to enhance the platform, OS, and application security. ACRN provides CSME sharing capability, so the system can support access to the CSME and all of its constituent subcomponents by multiple guest OS images (Linux, Android, or Clear Linux as Service OS) running concurrently on the same platform.

vHost and vHost-Net support: For upstream and performance improvement, vHost framework and vHost network are enabled to accelerate guest networking with virtio_net.

vSBL enhancement: There are multiple updates for vSBL module, for example, supporting Guest OS crash mode in vSBL debug version, and supporting ACPI customization. vSBL can get RPMB key by hypercall and pass down to boot loader

xD support: The platform supports execution disable (xD) for all virtualized operating systems.

Interrupt storm mitigation: This feature is to mitigate the risks of device interrupt storm.

ACRN compiler and linker enhancement: Setting and flags have been enabled in the compiler and linker to harden ACRN software, including stack execution protection, data relocation and protection (RELRO), stack-based buffer overrun detection, Position Independent Execution (PIE), fortify source, format string vulnerabilities.

Naming convention: MISRA-C has requirements on how identifiers are named and ISO 26262 highly recommends adopting naming conventions for products of any safety level. This release addresses those requirements.

Code reshuffle: Several modules’ codes have been clean up and reshuffled to make upstream friendly, for example, VM loader was updated to avoid involving hypervisor when passing information from Device Model to guest, MMU code was modified by referring to x86 SDM, IOC mediator reshuffled by replacing strtok function with strsep and checking snprintf return value, Virtio code updated by removing unused virtio_console_cfgwrite in virtio_console.

AliOS 2.0 Guest OS Support in ACRN

By Blog

Since its release in March, we’ve seen lots of interests from the developer community and industry partners on the ACRN project. As a flexible, lightweight reference hypervisor, built with real-time and safety-criticality in mind, ACRN is optimized to streamline embedded development through an open source platform. It provides a framework for industry leaders to build an open source embedded hypervisor specifically for the Internet of Things (IoT).

The newly launched AliOS 2.0 is an IoT operating system developed by Alibaba for multiple devices. It supports multi-tasking, with powerful graphical processing, audio/video and voice-recognition capability, specifically tailored for automotive, TV and other IoT devices which require high CPU performance and memory.

We’re now pleased to announce that AliOS support has been merged in ACRN open source project. The support of launching AliOS as a guest is finally accepted by upstream, and ACRN master has official support for launching AliOS as a guest on Intel’s A3900 serial processor. AliOS plus ACRN now provides a total solution for next-generation e-cockpit applications, including real-time lane detection based on AI acceleration, 3D HD 360 Around View Monitor, team travel, etc.

This is a key milestone for both ACRN and AliOS, and great news for the open source developer community. We welcome more developers and partners join the ACRN project and bring more IoT use cases into the market.

Project ACRN Releases Version 0.2

By Blog

ACRN has released version 0.2 (see the release notes), a new updated revision of the project with many added features and fixed bugs. The project team encourages you to learn more about ACRN and try it out, and also to join the weekly technical call.

The major new and updated features are summarized in the release notes, along with bugs fixed and known issues. These are the new features in 0.2:

VT-x, VT-d support: Based on Intel VT-x virtualization technology, ACRN emulates a virtual CPU with core partition and simple schedule. VT-d provides hardware support for isolating and restricting device accesses to the owner of the partition managing the device. It allows assigning I/O devices to a VM, and extending the protection and isolation properties of VMs for I/O operations.

PIC/IOAPIC/MSI/MSI-X/PCI/LAPIC: ACRN hypervisor supports virtualized APIC-V/EPT/IOAPIC/LAPIC functionality.

Ethernet: ACRN hypervisor supports virtualized Ethernet functionality. Ethernet Mediator is executed in the Service OS and provides packet forwarding between the physical networking devices (Ethernet, Wi-Fi, etc.) and virtual devices in the Guest VMs (also called “User OS”). Virtual Ethernet device could be shared by Linux, Android, and Service OS guests for regular (i.e. non-AVB) traffic. All hypervisor para-virtualized I/O is implemented using the VirtIO specification Ethernet pass-through.

Storage (eMMC): ACRN hypervisor supports virtualized non-volatile R/W storage for the Service OS and Guest OS instances, supporting VM private storage and/or storage shared between Guest OS instances.

USB (xDCI): ACRN hypervisor supports virtualized assignment of all USB xHCI and/or xDCI controllers to a Guest OS from the platform.

USB Mediator (xHCI and DRD): ACRN hypervisor supports a virtualized USB Mediator.

CSME: ACRN hypervisor supports a CSME to a single Linux, Android, or RTOS guest or the Service OS even when in a virtualized environment.

WiFi: ACRN hypervisor supports the passthrough assignment of the WiFi subsystem to the IVI, enables control of the WiFi as an in-vehicle hotspot for 3rd party devices, provides 3rd party device applications access to the vehicle, and provides access of 3rd party devices to the TCU provided connectivity.

IPU (MIPI-CS2, HDMI-in): ACRN hypervisor supports passthrough IPU assignment to Service OS or guest OS, without sharing.

Bluetooth: ACRN hypervisor supports bluetooth controller passthrough to a single Guest OS (IVI).

GPU – Preemption: GPU Preemption is one typical automotive use case which requires the system to preempt GPU resources occupied by lower priority workloads. This is done to ensure performance of the most critical workload can be achieved. Three different schedulers for the GPU are involved: i915 UOS scheduler, Mediator GVT scheduler, and i915 SOS scheduler.

GPU – display surface sharing via Hyper DMA: Surface sharing is one typical automotive use case which requires that the SOS accesses an individual surface or a set of surfaces from the UOS without having to access the entire frame buffer of the UOS. Hyper DMA Buffer sharing extends the Linux DMA buffer sharing mechanism where one driver is able to share its pages with another driver within one domain.

S3: ACRN hypervisor supports S3 feature, partially enabled in LaaG.

ACRN Showcase at Alibaba Computing Conference 2018

By Blog

Demonstration of Next Generation E-Cockpit System on AliOS

Themed “Empower Digital China”, the  4 day Computing Conference 2018 opened this week in Hangzhou, China. There were over 170 leading-edge industry forums, gathering 450 companies and more than 60,000 elite IT professionals attending. The companies and guests exchanged ideas in the hot fields of cloud computing, big data, AI, etc.

Intel’s exhibition area at Computing Conference 2018

As strategic partner of the Computing Conference 2018, Intel has also joined this digital carnival to showcase its capabilities for the data era, targeting brand new development for cloud computing based on Intel Architecture. At the Conference, Intel announced its latest cooperation with Alibaba in the fields of edge computing development, hybrid cloud solutions, and infrastructure for e-commerce applications.

At the Shenzhen Summit in March this year, both parties joined hands to launch the next-generation electronic cockpit solution based on Intel’s architecture and AliOS, aiming to provide auto manufacturers and primary distributors with diversified options of integrated hardware-software meeting the demands for system integration, to enrich local ecology and to accelerate product development & continuous innovation. At this conference in Hangzhou, the two companies teamed up again to demonstrate the AliOS Internet Car System based on Intel Apollo Lake platform.

AliOS Internet Car System based on Intel Apollo Lake platform

In this demonstration, AliOS presented the future-oriented Internet-based auto operating system, the first integrated platform for the auto service ecology and the largest open platform of intelligent hardware, boasting the first online sensible map and multi-modal in-vehicle interactive mode. In this joint effort, AliOS and Intel built whole-vehicle intelligence based on the next-generation Intel Atom Processor A3900 Series, which is a car-level chip family, taking advantage of the powerful computing capacity of the chip processor and the rich ecology of AliOS to introduce more digital capabilities to cockpits. These capabilities, including the lightweight virtualization of ACRN hypervisor, AI-accelerated real-time lane line detection, 3D HD 360-degree environment, traveling in teams, and payment without exiting the car, can fully meet the application requirements in different scenarios.