Microsoft has submitted a series of patches to Linux kernel developers requesting that Linux run as the root partition on the Hyper-V, its hypervisor software for running Windows and non-Windows instances on hardware.
Microsoft “wants to create a complete virtualization stack with Linux and Microsoft Hypervisor”, according to Microsoft principle software engineer Wei Liu.
Liu has proposed an RFC or request for comment that for now merely implements what are only the “absolutely necessary components to get things running”.
“There will be a subsequent patch series to provide a device node (/dev/mshv) such that userspace programs can create and run virtual machines. We’ve also ported Cloud Hypervisor over and have been able to boot a Linux guest with Virtio devices since late July.”
Cloud Hypervisor is an experimental open-source hypervisor implementation from Intel written in the Rust programming language. It’s a virtual-machine monitor that runs on top of KVM, the Kernel-based Virtual Machine hypervisor in the Linux kernel that’s designed for cloud workloads.
The main focus of the proposed patches for which Liu is seeking feedback concerns backing up the Hyper-V Top-Level Functional Specification (TLFS), which governs Hyper-V’s visible behavior to other operating system components. The specification is targeted towards developers building guest operating systems.
However, Liu points out three more changes beyond amendments to TLFS. For example, Microsoft wants Linux to set up existing Hyper-V facilities differently.
It also wants Linux kernel developers to change the kernel’s behavior when accessing hardware memory in a way that affects driver access to the GPU and CPU that’s being managed by an operating system memory manager. It’s this issue that Microsoft engineers are least confident about and are asking for Linux developer support, according to Liu.
“We drew inspiration from the Xen code in Linux. We are of course open to criticism and suggestions on how to make it better/acceptable to upstream,” she wrote.
“We’re aware of tglx’s series to change some of the MSI code, so we may need to change some of the code after that series is upstreamed. But it wouldn’t hurt to throw this out as soon as possible for feedback.”
As The Register notes, if Linux kernel developers approve Microsoft’s patch series request, Linux will run as the Hyper-V root partition, which gives it direct access to hardware, creates child partitions for the virtual machines it hosts, and operates similarly to Xen’s Dom0.
As it is, the Hyper-V root partition can only run Windows. But with Linux running as the root partition, it won’t need to run Windows on that hypervisor and enables “a complete virtualization stack with Linux” for Microsoft in its Azure cloud, where Linux instances eclipsed Windows use last year.
The move also builds on Microsoft’s efforts to support developers with Windows 10’s Windows Subsystem for Linux (WSL) and WSL 2, which includes Microsoft’s custom Linux kernel.
As Microsoft’s executive VP of the cloud and enterprise group, Scott Guthrie, told ZDNet last year, Microsoft’s shift to Linux and open source started over a decade ago with when it open-sourced ASP.NET.
“We recognized open source is something that every developer can benefit from. It’s not nice, it’s essential. It’s not just code, it’s community,” explained Guthrie.