Hyper-V is a hypervisor integrated in current versions of Microsoft Windows. This article covers the specifics of running Gentoo as a guest operating system inside a Hyper-V virtual machine.
Hyper-V support for Gentoo guests requires two important steps: kernel support and user-space graphic driver support.
This configuration is only pertinent to a Gentoo installation (guest) running as a virtual machine.
Linux guest support
Below is a summary of the kernel features that need to be compiled into the kernel, or provided as kernel modules, to be able to correctly run Gentoo under Hyper-V. Feature names are subject to change, so be sure to search the kernel's menuconfig for features containing the string
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 ---> [*] Networking support ---> Networking options ---> <*> Virtual Socket protocol <*> Hyper-V transport for Virtual Sockets Device Drivers ---> [*] PCI support [*] Message Signaled Interrupts (MSI and MSI-X) <*> Hyper-V PCI Frontend 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 Input device support ---> Hardware I/O ports ---> <*> Microsoft Synthetic Keyboard driver Graphics support ---> Frame buffer Devices ---> <*> Support for 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:
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:
Next (re)emerge xorg-drivers package:
emerge --ask --update --newuse --deep x11-base/xorg-drivers
Sources for the integration services can be found in the kernel source tree. Unfortunatly there is no support from Gentoo for the integration services at time of writing, so manual setup is required:
Next adjust the helpers to fit your system. For documentation, see the comments inside the files.
Finally, make sure the three daemons are started on boot. Again, you will have to write the services yourself. This should however be pretty straightforward, as they do not require any configuration.
Removing the Hyper-V support is as simple as disabling the related kernel options (reverse the steps in the Kernel section above) and removing the files installed in the Integration Services section.
- Virtualization — the concept and technique that permits running software in an environment separate from a computer operating system.
- Xen — a native, or bare-metal, hypervisor that allows multiple distinct virtual machines (referred to as domains) to share a single physical machine.