Running Debian in Windows Server's Hyper-V

This page explain how to use Debian under Microsoft Hyper-V (Windows Server 2008/R2).

Overall Status

Core Components

Screenshot

Boot Standard Kernel:

{OK}

LAN network card:

{OK}

Detect CD/DVD:

{OK}

Detect hard drives:

{OK}

Extra Features

Xorg

{OK}

- OpenGL

[?]

- Resize-and-Rotate(randr)

/!\

Sound

[-]

Mouse

{OK}

Legend :
{OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable
{i} = Configuration Required; X-( = Only works with a proprietary driver

Important Note

Configuration

Kernel Parameters

Networking

The emulated device is a "Digital Equipment Corporation DECchip 21140 [FasterNet]" PCI id:1011:0009.

The device (or driver) has no link detection. So NetworkManager will show an unplugged device (see bug 490816 and gnome's 542916).

Workarounds : either

  1. Left click on the nm-applet then click on "Wired Network" (each time you reboot)
    or

  2. Create a the file /etc/default/NetworkManager to prevent NetworkManager from disabling the interface :

    #Exit to prevent NetworkManager from running
    exit

Solution: Build and install the "Linux Integration Services" drivers, freely available from Microsoft. The result will be that a non-legacy network adapter can be added from the Hyper-V Manager, vastly improving speed & functionality. However, this procedure is non-trivial because:

  1. Microsoft only supports certain guest operating systems (like Windows, Suse and flavors of Red Hat)
  2. Microsoft has alternated between providing and not providing non-official support for the Linux IC drivers. The drivers were bundled with kernel version 2.6.32, but are slated for removal by 2.6.35.

Mouse

The mouse is working well. (the scroll button doesn't).

However, you can't use use the mouse inside your machine if you connect to the server using RDP. (The error message says "Mouse not captured in Remote Desktop session"). This has to do with the Debian install not being aware that it is dealing with an "enlightened" virtualized mouse. In order to get this "enlightened" mouse, you will need to build and install the "inputvsc" driver from the Citrix Satori Project. However, the inputvsc driver requires the "Linux Integration Services" drivers, see discussion above, to be built and installed.

Display Adapter / Video

The Xorg server uses vesa driver (since Microsoft has developed a weird proprietary device PCI:1414:5353).

It works quite well under both Etch and Lenny (Xorg 7.3). However:

Audio

Hyper-V doesn't seems to provide audio emulation, at all.

Power Management

Step by Step Installation

Download Debian ISO image

Pick the Installation that best fits you needs, from http://www.debian.org/CD/. I've picked the NetInst CD (at the time of writing, debian-40r3-i386-netinst.iso).

Create the VM

. {i} If you haven't installed Hyper-V, check Installing Hyper-V below.

Configure Networking

Enabling networking requires two steps:

  1. Add a virtual switch
  2. Add a (so called) Legacy Network Adapter (The other one, named Network Adapter requires installation of Microsoft's free Integration services).

Add Virtual Network

If you don't have one yet, you have to add a virtual network (a kind of virtual switch).

Add a Network Adapter

The installation wizard don't offer to a a network installation, so you have to add it manually (!) :

That's it.

Installing Hyper-V

If you are reading this page, you probably already have Hyper-V installed ! for the other, you should follow Microsoft's instructions :

Microsoft has already provided an update. Apparently, you must install it to have a supported Hyper-V installation (Update for Windows Server 2008 x64 Edition (KB950050))

Note that for some odd reasons, Microsoft doesn't provides a version of Hyper-V under 32bit platform (even though it can use 64Gb of RAM).

That's It !


System Summary

lspci

$lspci -nn
00:00.0 Host bridge [0600]: Intel Corporation 440BX/ZX/DX - 82443BX/ZX/DX Host bridge (AGP disabled) [8086:7192] (rev 03)
00:07.0 ISA bridge [0601]: Intel Corporation 82371AB/EB/MB PIIX4 ISA [8086:7110] (rev 01)
00:07.1 IDE interface [0101]: Intel Corporation 82371AB/EB/MB PIIX4 IDE [8086:7111] (rev 01)
00:07.3 Bridge [0680]: Intel Corporation 82371AB/EB/MB PIIX4 ACPI [8086:7113] (rev 02)
00:08.0 VGA compatible controller [0300]: Microsoft Corporation Unknown device [1414:5353]
00:0a.0 Ethernet controller [0200]: Digital Equipment Corporation DECchip 21140 [FasterNet] [1011:0009] (rev 20)

PCI 1414:5353 VGA device

Here's are two quotes from Microsoft Integration Service's s3cap.inf regarding the device 1414:5353 :

and a compulsory lspci -d 1414:5353 -vvv output :

00:08.0 VGA compatible controller: Microsoft Corporation Unknown device 5353 (prog-if 00 [VGA])
        Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV+ VGASnoop- ParErr- Stepping- SERR+ FastB2B-
        Status: Cap- 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR-
        Latency: 0
        Region 0: Memory at f8000000 (32-bit, non-prefetchable) [size=64M]

You can also have a look at Xorg-lenny.log.txt .

lsusb

None

Attachements

Credits


keywords: Viridian