Personal tools
You are here: Home Linux Xen Windows Windows Server 2008 R2 Xen HVM Installation with GPVPV Drivers v0.10.0.130

Windows Server 2008 R2 Xen HVM Installation with GPVPV Drivers v0.10.0.130

Howto install a Windows 2k8 r2 on a xen host with GPL PV drivers v0.10.0.130

[Update: Signed drivers can be found here]

The machine is called 'slate', and has a single 32Gbyte disk. The xen host is running (a very old) Fedora 8 with xen-3.1.2-5.fc8.

Install Server 2008 R2

Assign a lump of disk (from a LVM volume) for the operating system (32Gbytes), and boot from the installation media DVD. Use a VNC client to step through the graphical installation. Use the following 'xm' style configuration:

#
#  Windows 2008 Server r2
#
name = 'slate'
kernel = '/usr/lib/xen/boot/hvmloader'
builder = 'hvm'
device_model = '/usr/lib64/xen/bin/qemu-dm'
maxmem = 4096
memory = 1024
vcpus=4
acpi=1
apic=1

vif = [ 'bridge=br118, mac=00:aa:0a:14:11:02' ]

#
# The VM has the following block devices
#  - A boot disk with a single partition for the OS, swap, and programs
#  - The installation DVD
#
disk = [ 'phy:/dev/6x320Gr6/slate-hvm,hda,w',
         'file:/xen/iso/en_windows_server_2008_r2_standard_enterprise_datacenter_web_retail_build_x64_dvd_x15-50365.iso,hdc:cdrom,r' ]

# Boot from the CD 
boot='d'

usbdevice='tablet'

#
# Use VNC for the console.
#
vnc=1
vncunused=0
vnclisten = '10.20.9.2'
vncdisplay=2
vncconsole=1
vncpasswd='pickareasonablepassword'

vncviewer=0
sdl=0

stdvga=0
serial='pty'
ne2000 = "0"


on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'
# on_reboot   = 'preserve'
# on_crash    = 'preserve'

Note: A Windows Vista x64 machine was used as the VNC client during installation. For some reason connecting to the VNC session over a Putty SSH tunnel using the loopback interface didn't work (the connection hung during the initial handshake). Binding to the ethernet interface of the Xen host, and going directly worked well.

GPL PV Drivers

Given the Windows machine is Server 2008 R2 x64, the drivers must have 'wlh' and 'amd64' in their name. The current revision is gplpv_fre_wlh_AMD64_0.10.0.130.

The installation of the drivers was very straightforward. Given the drivers are signed for 'test mode' operation, and a certificate is provided, the pain to get the drivers installed is reasonably low. I created an ISO image with the MSI install program on it, and added the ISO image as a CDROM device. This means the qemu network adapter doesn't have to be used or configured (but this would be another way to get the drivers onto the machine).

The 'xm' style VM configuration with the gpl pv driver as a second CDROM device is:

disk = [ 'phy:/dev/6x320Gr6/slate-hvm,hda,w',
         'file:/xen/iso/en_windows_server_2008_r2_standard_enterprise_datacenter_web_retail_build_x64_dvd_x15-50365.iso,hdc:cdrom,r',
         'file:/xen/iso/gplpv_fre_wlh_AMD64_0.10.0.130.iso,hdd:cdrom,r' ]

The four steps I followed are:

  1. set 'test signing' mode on
  2. reboot
  3. install driver MSI
  4. reboot

To enable test signing mode execute:

bcdedit /set testsigning on

Once the driver was installed and the machine was rebooted, I configured a static IPv4 and IPv6 address on the network adapter, and enabled remote desktop.

Device manager indicated that the driver was being used, by the presence of the 'Xen Net Device Driver' and 'Xen PV Disk SCSI Disk Device'.

 Screesnap 2009-10-30_121239 - GPLPV Driver Device Manager.png

 

Note: The shutdown service works well 'out of the box'. Shutting the machine down from the xen host with 'xm shutdown slate' performs an orderly shutdown.

Running 'xm' configuration

Once the machine is up and running:

  • change the boot device back to 'c' drive
  • change the network interface to 'type=paravirtualised' (so that qemu-dm doesn't create a tap device)
#
#  Windows 2008 Server r2 - MSSQL 2005 Development DB Server
#

name = 'slate'
kernel = '/usr/lib/xen/boot/hvmloader'
builder = 'hvm'
device_model = '/usr/lib64/xen/bin/qemu-dm'
maxmem = 4096
memory = 1024
vcpus=4
acpi=1
apic=1

vif = [ 'bridge=br118, mac=00:aa:0a:14:11:02, type=paravirtualised' ]

disk = [ 'phy:/dev/6x320Gr6/slate-hvm,hda,w' ]

# Boot from the hardisk device
boot='c'

usbdevice='tablet'

#
# Use VNC for the console.
#
vnc = 1
vncunused = 0
vnclisten = '10.20.9.2'
vncdisplay = 2
vncconsole = 1
vncpasswd = 'pickaresonablepassword'

vncviewer = 0
sdl = 0

stdvga = 0
serial = 'pty'

on_poweroff = 'destroy'
on_reboot   = 'restart'
on_crash    = 'restart'

Residual Issues

Given I am running an old version of xen in domain 0 (v3.1.2), there is an issue with using the GPL PV driver such that the CDROM devices no longer function, and the 'Intel(r) 82371SB PCI Bus Master IDE Controller' device has an issue.

Upgrading to the latest xen would solve this issue.

Links

Appendices

Windows Server 2008 R2 Installation gallery

Ready to install. Pick the time and currency format.

Screesnap 2009-10-29_232438 - Win 2008 r2 Install.png

Select which version of the operating system to install.

Screesnap 2009-10-29_232608 - Win 2008 r2 Install.png

Accept the license terms (like there is a real choice).

Screesnap 2009-10-29_232747 - Win 2008 r2 Install.png

Pick custom install (this is a fresh install, not an upgrade)

Screesnap 2009-10-29_232811 - Win 2008 r2 Install.png

The install program creates a 100MByte partition. There was no choice.

Screesnap 2009-10-29_233216 - Win 2008 r2 Install.png

Installation begins. Note that the machine does reboot during the install.

Screesnap 2009-10-29_233230 - Win 2008 r2 Install.png

And reboots...

Screesnap 2009-10-29_234401 - Win 2008 r2 Install.png

Set the Administrator password

Screesnap 2009-10-29_234435 - Win 2008 r2 Install.png

Enter a new password

Windows Server 2008 R2 Login Dialog

Overall the installation was reasonably easy and quick.

GPL PV Driver Installation Gallery

Once the "bcdedit /set testsigning on" is run, and the machine has rebooted, the 'test mode' should display in the lower right of the desktop.

Windows Server 2008 desktop with 'Test Mode' active

Run the GPL PV driver installation msi.

Screesnap 2009-10-30_120310 - GPLPV Driver Install.png

Accept the license.

Screesnap 2009-10-30_120321 - GPLPV Driver Install.png

The custom install shows what will be installed. Note how the 'test mode' signing certificate is installed.

Screesnap 2009-10-30_120350 - GPLPV Driver Install.png

Install.

Screesnap 2009-10-30_120402 - GPLPV Driver Install.png

Install the drivers, and always trust the 'GPLPV_Test_Cert'.

Screesnap 2009-10-30_120424 - GPLPV Driver Install.png

The installation is done.

Screesnap 2009-10-30_120451 - GPLPV Driver Install.png

Reboot the system to activate the drivers.

Screesnap 2009-10-30_120514 - GPLPV Driver Install.png

After rebooting, the device manager shows the following devices (Note: the system is using Xen 3.1.2 on the host - modern xen hosts may hide more)

Screesnap 2009-10-30_121239 - GPLPV Driver Device Manager.png

 

Document Actions