This literally just worked, it was very nice. However, the configuration in the howto assumes a paravirtualized guest. I have a machine which has hardware support for virtualization, and I want to enable HVM support. This page at Dartmouth describes the configuration of a Debian HVM guest in Xen 3.0.4. I had to change a few things to get everything working with Xen 3.1.0.
The first error arose when trying to connect a console to the HVM guest. I did an `xm list` and saw my ‘edgy’ domain running happily:
$ xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1720 2 r—– 50.9
edgy 5 263 1 r—– 337.4
Now I tried to connect a console:
$ xm console 5
xenconsole: Could not read tty from store: No such file or directory
I googled for that error message and saw that a lot of people have experienced it, and I found absolutely nothing that was helpful. In fact, I still don’t know how to connect a console to an HVM guest. Maybe it’s impossible, who knows?
What I was able to do is use VNC. The options mentioned on the Dartmouth page (vnc-listen and vncpasswd) are in the file /etc/xen/xend-config.sxp, and not in /etc/xen/xen-config.sxp. Maybe it was just a typo, but the one with the ‘d’ is the correct file.
One of the comments on the original HowToForge.com page suggested the following:
1. if you wan’t the VNC/SDL feature with HVM you need the following packages: libjpeg62-dev, libvncserver-dev, libsdl1.2-dev
2. you need to set the following var: ‘export XENFB_TOOLS=y’ in Config.mk before building Xen.
3. for hvmloader, you need the package bcc or it will just not compile.
As I type this I have a VNC client window exported via `ssh -X` from dom0 happily churning through the Debian install process. I don’t need X for the work I’m doing, so I probably won’t update this again.