A set of virtualization KVM-on-ARM guides
enabling ARM multicore heterogeneous systems
Based on company research and development work in the field of virtualization solutions and virtualization custom extensions for complex heterogeneous multi-core SoC spanning from embedded to server, to HPC, Virtual Open Systems makes available a series of guides about virtualization of ARM based heterogeneous multicore hardware architectures.
Most of these guides have become very popular and downloaded by both academic researchers and industry specialized companies working with virtualization and ARM based hardware architectures with virtualization extensions (ARMv7, ARMv8 ..).
Experience your company with Virtual Open Systems' guides
As an open source minded company, Virtual Open Systems operates for open and unchained continuous progress and innovation. Sharing technical guides on different software technologies is a way for Virtual Open Systems to contribute in accelerating and stimulating developments from open source communities and private third parties, while building partnership and business relationships with companies sharing similar technical fast innovation targets.
The most recent virtualization guides from Virtual Open Systems are:
- Within the H2020 DIGIFED ENOCH research project, Virtual Open Systems has demonstrated a solution to run VOSySmonitor on the Raspberry Pi 4 Model B board, thus allowing on it a concurrent execution of a safety-critical Real Time OS and non-critical General Purpose OS.
- At the Automotive Linux Summit 2017 (ALS-2017), Virtual Open Systems has demonstrated the integration with AGL of its VOSYSmonitor mixed-criticality virtualization product. A guide has been published to show how to run KVM virtual machines (VMs) on AGL based on Virtual Open Systems open source shared patches.
- A step by step guide to show how to install the user space virtual switch VOSYSwitch within OPNFV, with VOSYSwitch used as a layer 2 forwarding dataplane in an OpenStack Neutron network. This guide provides a solution that uses a mixed environment, including both a virtualized and baremetal host, where the management roles are running as virtual machines, whereas the nodes with compute roles responsible for hosting the instances, are deployed on baremetal servers. At the end of the guide a performance comparison between an OPNFV setup running VOSYSwitch and one using OVS-DPDK is presented.
- To showcase how to setup NXP LS2085A-RDB as KVM virtualization host with VOSYSwitch vSwitch support, for a number of scenarios involving virtualization on ARMv8 architecture, in the field of vCPE edge, IoT, Mobile Edge Computing, etc.
- To support mixed-criticality systems, Virtual Open Systems has developed KVM virtualization extensions and a TrustZone-enabling custom ATF monitor layer which showcases through this step by step guide how to run concurrently a Real Time Operating System (RTOS) and a General Purpose Operating System (GPOS) on a real ARMv8 hardware target.
- A guide made available by Virtual Open Systems on how to deploy the KVM hypervisor with sVirt on an OMAP5 uEVM real hardware ARM Cortex-A15 target. sVirt ensures a security solution through SELinux to completely isolate virtual machines and protect the guest systems from attacks, from the host or other virtual machines. At the end of this document the reader should be able to run a secure guest, i.e. a virtual machine completely and securely isolated from the outside world.
- The VFIO framework is featured in the Linux kernel in order to fulfill a precise requirement, which is the possibility to realize user space device drivers, exploiting the capabilities of a DMA capable device behind an IOMMU. This further applies to Virtual Machines, driven by QEMU/KVM, as the capability to assign hardware devices directly to a guest OS, while preserving the isolation properties of virtualization and the security of the system. This guide is about a user space VFIO_PLATFORM test and an example of device passthrough in QEMU.
- An introduction to the vhost-user feature introduced by Virtual open Systems in QEMU, which is an essential component to run virtual switches in user-space domain; the original development has been done by Virtual open Systems for use in the open source Snabbswitch Ethernet switch. The architecture of vhost-user and Vapp are covered in this guide. The reader will also be walked through building QEMU with the vhost-user feature, and testing it with the Vapp reference implementation.
- A step by step guide to experience KVM virtualization on a real commercial laptop, based on Cortex-A15. This is about how to enable KVM on Samsung's ARM Chromebook, allowing the usage of multiple popular operating systems (ChromeOS, Ubuntu, Android) simultaneously. The Samsung Chromebook used for the guide is based on the Exynos5250 platform which incorporate a dual-core Cortex-A15 at 1.7 GHz and a Mali-T604 GPU on a 32nm package. The next version of Exynos scales even further, by utilizing a big.LITTLE architecture with 1.8 GHz quad-core Cortex-A15 together with a quad-core Cortex-A7 at 1.2 GHz.
- A guide for KVM Virtualization on the ARMv8 Architecture to experience how to set up a KVM development environment on 64-bit ARM processors. It showcases how to run a guest operating system inside an ARM64 host taking benefit of its KVM module. A practical ARMv8 step by step guide on how to reach a fully functional environment on upcoming hardware targets. The guide is using ARM Foundation Model to simulate ARMv8 environment.
- A guide to deploy full virtualization KVM-on-ARM Cortex-A15 VExpress real hardware, showcasing the full virtualization extensions of Cortex-A15 on real hardware, based on most recent KVM-on-ARM developments by Virtual Open Systems. KVM-on-ARM is the first hypervisor technology using the hardware virtualization extensions of ARM Cortex-A15 to enable multiple copies of operating systems, aiming to deliver near-native performance for server, consumer and mobile market applications. Starting with this implementation, different customer specific use cases could be easily instantiated targeting Android multi-persona, different heterogeneous OS or different version of the same OS.
- A guide to experience KVM virtualization on Arndale, know how to virtualize Exynos-5250 based devices, such as the Arndale development board. Cortex-A15/A7 devices (big.LITTLE architectures) are mature enough, and more companies implement their own platforms/solutions based on ARMv7 and the Virtualization Extensions. In this context KVM on Exynos-5250 is a practical guide.
- A guide for virtualizing Android on ARM Cortex-A15 FastModels, using Android Jelly Bean OS on Cortex-A15 FastModels. Develop software for modern virtualization platforms based on Cortex-A15, ahead of real platforms.
- The KVM-on-ARM guide is a step by step showcase for linux KVM virtualization on embedded systems and ARM based servers, starting with KVM porting on ARM Cortex-A15 and big.LITTLE Fast Models. Discover how to setup the development environment for KVM development on embedded multi-core architecture processors.
Open source virtualization port services to ARM architectured SoC's
Today, next generation of SoC platforms based on most innovating ARM architectures for consumer devices, smartphones, internet connected TVs, data center servers, can use the native virtualization to introduce new types of applications or services or a way to improve security and to reduce their carbon footprint.
Virtual Open Systems, while building and continuously extending a strong know-how based on virtualization on ARM architectures software developments, provides customized virtualization on ARM SoC's software porting services. For any inquiry related to the company virtualization products and custom porting services you can contact us.