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:
- set 'test signing' mode on
- reboot
- install driver MSI
- 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'.
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
- General info about GPL PV drivers
- GPL PV v0.10.0.97 announcement
- Installing Xen Windows Gpl Pv (outdated)
- Xen GPL PV Driver for Windows
- Ready Driver Plus
- Driver Signature Enforcement Override
Appendices
Windows Server 2008 R2 Installation gallery
Ready to install. Pick the time and currency format.
Select which version of the operating system to install.
Accept the license terms (like there is a real choice).
Pick custom install (this is a fresh install, not an upgrade)
The install program creates a 100MByte partition. There was no choice.
Installation begins. Note that the machine does reboot during the install.
And reboots...
Set the Administrator password
Enter a new password
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.
Run the GPL PV driver installation msi.
Accept the license.
The custom install shows what will be installed. Note how the 'test mode' signing certificate is installed.
Install.
Install the drivers, and always trust the 'GPLPV_Test_Cert'.
The installation is done.
Reboot the system to activate the drivers.
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)