On my own time and on my own testing equipment, I have been able to run many Guests VMs in PVHVM containers - before Creedence after its release to the public back in June. Last week's broadcast of Creedence Beta 3's release, I was naturally excited to see Tim's spotlight on PVHVM and the following article's intent is to show - in a test environment only - how I was able to run Debian 7.x (64-bit) in the same fashion.
For more information regarding PV + HVM as to establish a PVHVM container, Tim linked a great article in his Creedence Beta 3 post last Monday that I highly recommend you read as the finer details are out of scope for this article's intent and purpose.
Why is this important to me? Quite simply we can go from this....
... to this ...
So now, let's make a PVHVM container for a Debian 7.x (64-Bit) Guest VM within XenCenter!
2. The full installation ISO for Debian 7.x (from https://www.debian.org/CD/http-ftp/#stable )
3. Any changes mentioned below should not be applied to any of the stock Debian templates
4. This should not be performed on your production environment
Creating A Default Template
With XenCenter open, ensure that from the View options one has "XenServer Templates" selected:
We should now see the default templates that XenServer installs:
1. Right-click on the "Debian Wheezy 7 (64-bit)" template and save it as "Debian 7":
3. This will produce a "custom template" - highlight it and copy the UUID of the custom template:
4. The remainder of this configuration will take place from the command-line.
5. To make the changes to the custom template easier, export the UUID of the custom template we created to avoid copy/paste errors:
6. With the $myTemp variable created, let us first convert this custom template to a default template by executing:
xe template-param-set uuid=$myTemp other-config:default_template=true
xe template-param-remove uuid=$myTemp param-name=other-config param-key=base_template_name
7. Now configure the template's "platform" variable to leverage VGA graphics:
xe template-param-set uuid=$myTemp platform:viridian=false platform:device_id=0001 platform:vga=std platform:videoram=16
8. Due to how some distros work with X, clear the PV-args and set a "vga=792" flag:
xe template-param-set uuid=$myTemp PV-args="vga=792"
9. Disable the PV-bootloader:
xe template-param-set uuid=$myTemp PV-bootloader=""
10. Specify that the template uses an HVM-style bootloader (DVD/CD first, then hard drive, and then network):
xe template-param-set uuid=$myTemp HVM-boot-policy="BIOS order"
xe template-param-set uuid=$myTemp HVM-boot-params:order="dcn"
Now, before creating a Debian 7.x Guest VM, one should now see in XenCenter that "Debian 7" is listed as a "default template":
Lastly, for the VGA flag and what it means to most distros, the following is a table explaining the VGA flag and bit settings to achieve XxY resoluton @ a color depth:
VGA Resolution and Color Depth reference Chart:
Create A New Debian Guest
From now, one should be able to create a new Guest VM using the template we have just created and should be able to walk through the entire install:
Post installation, tools can be installed as well!
Enjoy and happy testing!
jkbs | @xenfomation