With version 15.02, the Genode OS project complements its existing virtualization support for the x86 architecture with virtualization on ARM by turning their base-hw kernel into a microhypervisor. Besides virtualization, the most prominent underlying theme of the current release is the project’s increasing focus on test automation and optimization.
Virtualization has a long history within the Genode project. After originally focusing on paravirtualized Linux kernels (L4Linux and OKLinux), the added support for the NOVA kernel and the Vancouver VMM in 2011 cleared the way towards hardware-based virtualization on the x86 architecture. In 2012, the project started exploring ARM TrustZone as another flavour of virtualization. With the Noux runtime, Genode introduced their take on OS-level virtualization. Finally, the transplantation of VirtualBox to NOVA last year marked the project’s most ambitioned virtualization-related work. It enables VirtualBox to run as unprivileged user-level program on top of the NOVA microhypervisor.
During 2014, the Genode developers used those accumulated experiences to conquer another ground, namely the ARM virtualization extensions. The current release extends their custom kernel (called base-hw) with support for hosting virtual machines and adds a user-level virtual machine monitor that is capable of running an unmodified Linux-based system as guest OS. At a high level, it mirrors NOVA’s virtualization architecture but for ARM-based systems. The microkernel/hypervisor implements merely the VM world switch and the virtualization of memory but leaves all the complex work to untrusted user-level virtual machine monitors. In fact, the added kernel complexity on account of virtualization support is less than 1,000 lines of code.
Besides the virtualization-related work, the base-hw kernel gained a further improved scheduler that takes IPC relationships into account, which is inspired by the pioneering work of NOVA. Furthermore, the project is happy to announce the principal ability to run Genode as secure-world OS on the upcoming USB Armory hardware platform.
Most of the other topics of the current release are concerned with improving the performance and stability of Genode-based system scenarios. The centerpiece of these efforts is a new tool kit for automating tests on a large variety of kernels and hardware platforms. In line with this overall theme, the new version vastly improves the user experience of VirtualBox on NOVA, comes with updated rump-kernel-based file-system support, and lifts long-standing scalability limitations on PC platforms.
More background information about all the improvements of version 15.02 are available in the extensive release documentation.