From Gentoo Wiki
Jump to:navigation Jump to:search

Hyper-V is Microsoft's enterprise-class hypervisor. This article explains how to run Gentoo as a guest operating system on Microsoft's Hyper-V hypervisor.

Getting Hyper-V support into Gentoo requires two important steps: kernel support and user-space graphic driver support.


This section shows the reader how to enable Gentoo to run as a guest on a Hyper-V hypervisor.


Linux guest support

Getting the kernel configured to handle Hyper-V is not terribly complicated. Below is a summary of the kernel features that need to be available to run Gentoo under Hyper-V. The features names are subject to change, so be sure to search the kernel's menuconfig for features containing the string HYPERV.

KERNEL Enable basic Hyper-V guest support
Processor type and features  --->
   [*] Linux guest support  --->
      -*-   Enable paravirtualization code
      [*]     Paravirtualization layer for spinlocks
Power management and ACPI options  --->
   [*] ACPI (Advanced Configuration and Power Interface) Support  --->
Bus options (PCI etc.)  --->
   [*] PCI support
   [*] Message Signaled Interrupts (MSI and MSI-X)
   <*> Hyper-V PCI Frontend
[*] Networking support  --->
   Networking options  --->
      <*> Virtual Socket protocol
      <*> Hyper-V transport for Virtual Sockets
Device Drivers  --->
   Input device support  --->
      Hardware I/O ports  --->
         <*> Microsoft Synthetic Keyboard driver
   SCSI device support  --->
      SCSI Transports  --->
         <*> FiberChannel Transport Attributes
      [*] SCSI low-level drivers  ---> 
         <*> Microsoft Hyper-V virtual storage driver
   [*] Network device support  --->
      <*>   Microsoft Hyper-V virtual network driver
   Graphics support  --->
      Frame buffer Devices  --->
         <*> Microsoft Hyper-V Synthetic Video support
   HID support  --->
      -*- HID bus support
      Special HID drivers  --->
         <*> Microsoft Hyper-V mouse driver
   Microsoft Hyper-V guest support  --->
      <*> Microsoft Hyper-V client drivers
      <*> Microsoft Hyper-V Utilities driver
      <*> Microsoft Hyper-V Balloon driver

To have all necessary options appear, there is an initial dependency chain. "Linux guest support" and "ACPI" must be enabled first in order for "Microsoft Hyper-V client drivers" to appear. "Microsoft Hyper-V client drivers" is necessary for most, if not all, other Hyper-V options to be available.


For X11 (graphical) support the CONFIG_DRM_FBDEV_EMULATION kernel option is required:

KERNEL Enable graphical support via fbdev
Device Drivers  --->
   Graphics support  --->
      <*> Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->
         [*]   Enable legacy fbdev support for your modesetting driver


If X server graphical support is desired through fbdev, be sure to adjust make.conf:

FILE /etc/portage/make.conf

Next (re)emerge xorg-drivers package:

root #emerge --ask --update --newuse --deep x11-base/xorg-drivers


Removing the Hyper-V support is as simple as disabling the related kernel options (reverse the steps in the Kernel section above.

See also

  • Xen — a native, or bare-metal, hypervisor that allows multiple distinct virtual machines (referred to as domains) to share a single physical machine.

External resources