Differences between revisions 1 and 12 (spanning 11 versions)
Revision 1 as of 2008-07-13 08:00:51
Size: 3550
Editor: FranklinPiat
Comment: Start the page...
Revision 12 as of 2019-09-11 01:59:27
Size: 11532
Editor: PaulWise
Comment: better suggestion for where to rename the page
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
This page explain how to use Debian under Windows Server 2008.

 
## [[TableOfContents(2)]]
Line 11: Line 7:
== Installing Hyper-V ==
If you are reading this page, you probably already have Hyper-V installed ! for the other, you should follow Microsoft's instruction :
 * Step-by-Step Guide to Getting Started with Hyper-V [[BR]] ~-[http://go.microsoft.com/fwlink/?LinkId=105293]-~
 * How to Install Windows Server 2008 Hyper-V [[BR]] ~-[http://www.microsoft.com/windowsserver2008/en/us/hyperv-install.aspx]-~

Microsoft has already provided an update. Apparently, you must install it to have a supported Hyper-V installation ([http://www.microsoft.com/downloads/details.aspx?FamilyID=F3AB3D4B-63C8-4424-A738-BADED34D24ED&displaylang=en 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 [http://www.microsoft.com/windowsserver2008/en/us/scalability-ent.aspx can use 64Gb of RAM]).''

== Installing Debian ==
=== Important Note ===
 ''None, currently''

== Installation ==
 * Step-by-Step Guide to Getting Started with Hyper-V [[BR]] ~-[http://technet2.microsoft.com/WindowsServer2008/en/library/c513e254-adf1-400e-8fcb-c1aec8a029311033.mspx#BKMK_step3]-~


[[Anchor(step-by-step-installation)]]
This page explain how to use Debian under Microsoft Hyper-V (Windows Server 2008/R2).

 /!\ Microsoft Virtual PC is a {{{non-free}}} (proprietary) software. It isn't supported by Debian. It's probably wiser to use a free [[SystemVirtualization|Virtualization]] tool.

== Overall Status ==
## If you installed Debian from scratch on this computer, please rate it!
## see InstallingDebianOn/Ratings (change the "included" file above).
||||<tablestyle="margin-left:3em;width:90%">'''Core Components'''||<|10 style="text-align:right;border-style:none;vertical-align:top;"> [[http://wiki.debian.org/WindowsServerHyperV#screenshot|{{attachment:photo.png|Screenshot|width=267, height=230}}]] ||
||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 :<<BR>> {OK} = OK ; {X} Unsupported(No Driver) ; /!\ = Error (Couldn't get it working); [?] Unknown, Not Test ; [-] Not-applicable <<BR>> {i} = Configuration Required; X-( = Only works with a proprietary driver-~

== Important Note ==
### Any Important note, before the user starts installing Debian
### Like Bios, Disk, MBR Configuration. (default : ''none'')

 * Passing vga=XXX may cause some problem when you switch from X11 to console.

 * The display is drawn very slowly during the installation (under Lenny, for {{{newt}}} only, not for {{{installgui}}}). But the installation process itself isn't longer

== Configuration ==

 * There is a [[#step-by-step-installation|step by step guide]] on how to declare the VM in Hyper-V.
 * Here are the configuration / compatibility notes on how to install Debian.

<<Anchor(kernel-param)>>
==== Kernel Parameters ====

 ''None required, currently''

==== 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 DebianBug:490816 and gnome's [[http://bugzilla.gnome.org/show_bug.cgi?id=542916|542916]]).
  {{attachment:InstallingDebianOn/VMs/MicrosoftVirtualPc2007/etch/networkmanager-bug.png}}

__Workarounds :__ either
 1. Left click on the nm-applet then click on "Wired Network" (each time you reboot) <<BR>> ''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.
 {{attachment:no-mouse.gif}}

==== Display Adapter / Video ====
The Xorg server uses vesa driver (since Microsoft has developed a weird proprietary device [[#pci-1414-5353|PCI:1414:5353]]).

It works quite well under both Etch and Lenny (Xorg 7.3). However:
 * Using xrandr causes the Xserver to restart.
 * vga= works, but you can't switch between X11 and the console (it causes the system to crash).
 * Under Lenny, the Emulated screen always pretend to be 1600x1200... which is anoying if you have a smaller screen (you can force it in [[attachment:xorg-lenny.conf.txt]] )

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

==== Power Management ====
 * (not covered... use Hyper-V's suspend feature.)

<<Anchor(step-by-step-installation)>>
Line 31: Line 87:
=== 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, [http://cdimage.debian.org/debian-cd/4.0_r3/i386/iso-cd/debian-40r3-i386-netinst.iso debian-40r3-i386-netinst.iso]).

=== Create the VM ===
==== 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, [[http://cdimage.debian.org/debian-cd/4.0_r3/i386/iso-cd/debian-40r3-i386-netinst.iso|debian-40r3-i386-netinst.iso]]).

==== Create the VM ====
. {i} If you haven't installed Hyper-V, check [[#install-hyperv|Installing Hyper-V]] below.
Line 36: Line 94:
 * The first time you run Hyper-V, you need to accept their specific attachment:EULA.txt:
 inline:EULA.gif

 inline:Hyper-V_Console.gif
 * The first time you run Hyper-V, you need to accept their specific [[attachment:EULA.txt]]:
 {{attachment:EULA.gif}}

 {{attachment:Hyper-V_Console.gif}}
Line 42: Line 100:
 inline:wizard_1.gif  {{attachment:wizard_1.gif}}
Line 44: Line 102:
 inline:wizard2_name.gif  {{attachment:wizard2_name.gif}}
Line 46: Line 104:
 inline:wizard3_ram.gif  {{attachment:wizard3_ram.gif}}
Line 48: Line 106:
 inline:wizard4_net.gif  {{attachment:wizard4_net.gif}}
Line 50: Line 108:
 inline:wizard5_hd.gif
 * You can select the installation media for your VM, typically select the CDROM iso image you have previously dowwnloaded.
 inline:wizard6a_install_from_iso.gif
 {{attachment:wizard5_hd.gif}}
 * You can select the installation media for your VM
 {{attachment:wizard6a_install_from_iso.gif}}
Line 54: Line 112:
 inline:wizard7a_summary.gif

=== Install Debian in the VM ===



== See Also ==
 {{attachment:wizard7a_summary.gif}}

==== 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).
 * In "Hyper-V Manager", go to menu Action > Virtual Network Manager.
 * Select "External" network, then click on "Add".
 {{attachment:virtual-network_1-add.gif}}
 * Give it a name, like ''My Virtual Network''. Then select the pyhsical network interface that it should be connected to (i.e bridged).
 {{attachment:virtual-network_2-property.gif}}


===== Add a Network Adapter =====
The installation wizard don't offer to a a network installation, so you have to add it manually (!) :
 * Select your on Virtual machine in "Hyper-V Manager", then select Settings.
 * On the left panel, select "Add Hardware"
 * Select {{{Legacy Network Adapter}}}.
 {{attachment:property_add-legacy-nework_1.gif}}
 * Then select the virtual network (i.e switch) to which the adapter should be ''connected''.
 {{attachment:property_add-legacy-nework_2-bind.gif}}

That's it.

<<Anchor(install-hyperv)>>
== 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 :

 * Step-by-Step Guide to Getting Started with Hyper-V <<BR>> ~-[[http://go.microsoft.com/fwlink/?LinkId=105293]]-~
 * How to Install Windows Server 2008 Hyper-V <<BR>> ~-[[http://www.microsoft.com/windowsserver2008/en/us/hyperv-install.aspx]]-~

Microsoft has already provided an update. Apparently, you must install it to have a supported Hyper-V installation ([[http://www.microsoft.com/downloads/details.aspx?FamilyID=F3AB3D4B-63C8-4424-A738-BADED34D24ED&displaylang=en|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 [[http://www.microsoft.com/windowsserver2008/en/us/scalability-ent.aspx|can use 64Gb of RAM]]).''

=== That's It ! ===
<<Anchor(screenshot)>>
 {{attachment:logon-screen.png}}

------

== 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)
}}}

<<Anchor(pci-1414-5353)>>
=== PCI 1414:5353 VGA device ===
Here's are two quotes from Microsoft Integration Service's s3cap.inf regarding the device '''1414:5353''' :
 * ''This is the INF file for installing the Hyper-V VGA Cap driver''
 * ''Microsoft Emulated S3 Device Cap''.

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 [[attachment:Xorg-lenny.log.txt]] .

==== lsusb ====
''None''

=== Attachements ===
 * [[attachment:debian-etch-hyperv6.dmidecode.txt]]
## * attachment:debian-etch-hyperv6.xorg.conf.txt

== Useful Links ==
Line 62: Line 194:
  * Commercial Product page [[BR]] ~-[http://www.microsoft.com/windowsserver2008/en/us/virtualization-consolidation.aspx]-~
  * Technet Page [[BR]] ~-[http://go.microsoft.com/fwlink/?LinkId=48557]-~
  * Commercial Product page <<BR>> ~-[[http://www.microsoft.com/windowsserver2008/en/us/virtualization-consolidation.aspx]]-~
  * Technet Page <<BR>> ~-[[http://go.microsoft.com/fwlink/?LinkId=48557]]-~
 * Installing Debian Lenny on Microsoft VirtualPC 2007<<BR>>~-[[MicrosoftVirtualPc2007/lenny]]-~
 * [[DebPkg:qemu|Qemu]]'s qemu-img can convert [[http://www.microsoft.com/technet/virtualserver/downloads/vhdspec.mspx|vhd]] images.

## * D-I Installation report : [http://bugs.debian.org/000000 etch] ; [http://bugs.debian.org/000000 testing].
## Link to related bug(s) report(s)
## Avoid linking to other installation Howto from this page.


----

CategorySoftware | CategoryVirtualization | CategorySystemAdministration | CategoryProprietarySoftware


'''TODO:''' rename to [[InstallingDebianOn/Microsoft/WindowsServerHyperV]]

Running Debian in Windows Server's Hyper-V

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

  • /!\ Microsoft Virtual PC is a non-free (proprietary) software. It isn't supported by Debian. It's probably wiser to use a free Virtualization tool.

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

  • Passing vga=XXX may cause some problem when you switch from X11 to console.
  • The display is drawn very slowly during the installation (under Lenny, for newt only, not for installgui). But the installation process itself isn't longer

Configuration

  • There is a step by step guide on how to declare the VM in Hyper-V.

  • Here are the configuration / compatibility notes on how to install Debian.

Kernel Parameters

  • None required, currently

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).

  • InstallingDebianOn/VMs/MicrosoftVirtualPc2007/etch/networkmanager-bug.png

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.

  • no-mouse.gif

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:

  • Using xrandr causes the Xserver to restart.
  • vga= works, but you can't switch between X11 and the console (it causes the system to crash).
  • Under Lenny, the Emulated screen always pretend to be 1600x1200... which is anoying if you have a smaller screen (you can force it in xorg-lenny.conf.txt )

Audio

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

Power Management

  • (not covered... use Hyper-V's suspend feature.)

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.

  • Launch "Microsoft Virtual PC" in Start Menu > Administrative Tools > Hyper-V Manager.

  • The first time you run Hyper-V, you need to accept their specific EULA.txt: EULA.gif

    Hyper-V_Console.gif

  • Select the your server (on the left pane)
  • Go to Menu > Action > New > Virtual Machine. wizard_1.gif

  • Choose a name for your Virual Machine

    wizard2_name.gif

  • Select the amount or RAM for the Vritual Machine (128Mb is enough for text only. 512Mb is recommended for GUI/Desktop).

    wizard3_ram.gif

  • Select the Network you have created during Hyper-V initial configuration (If the drop down menu is empty, clse the wizard, and go to Menu > Action > Virtual Network Manager). wizard4_net.gif

  • Select a name and location for the disk image. You can change the maximum disk space allocated, but it isn't important since the space is allocated as needed. (Don't go below 6Gb unless you know exaclty what your are doing, not to shoot a bullet in your own foot).

    wizard5_hd.gif

  • You can select the installation media for your VM

    wizard6a_install_from_iso.gif

  • Review the summary, and click ok (or back ;).

    wizard7a_summary.gif

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).

  • In "Hyper-V Manager", go to menu Action > Virtual Network Manager.

  • Select "External" network, then click on "Add".

    virtual-network_1-add.gif

  • Give it a name, like My Virtual Network. Then select the pyhsical network interface that it should be connected to (i.e bridged). virtual-network_2-property.gif

Add a Network Adapter

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

  • Select your on Virtual machine in "Hyper-V Manager", then select Settings.
  • On the left panel, select "Add Hardware"
  • Select Legacy Network Adapter. property_add-legacy-nework_1.gif

  • Then select the virtual network (i.e switch) to which the adapter should be connected. property_add-legacy-nework_2-bind.gif

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 !

  • logon-screen.png


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 :

  • This is the INF file for installing the Hyper-V VGA Cap driver

  • Microsoft Emulated S3 Device Cap.

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


CategorySoftware | CategoryVirtualization | CategorySystemAdministration | CategoryProprietarySoftware

TODO: rename to ?InstallingDebianOn/Microsoft/WindowsServerHyperV