Ubuntu – Cannot use I/O in console for Xen HVM running FreeBSD/pfSense

pfsenseUbuntuxen

I've been having a really hard time trying to get a Xen HVM using pfSense 2 (based on FreeBSD 8.1) working.

I can make the machine run, and boot from an ISO image, but I cannot get I/O to work in the console, which makes it impossible to configure.

The dom0 is Ubuntu 12.04 LTS, and I'm using the xcp packages from the PPA at http://ppa.launchpad.net/ubuntu-xen-org/xcp-unstable/ubuntu

I've created a HVM guest that will boot from an ISO image containing pfSense 2, but when I use the console, I cannot send any input. I can watch the guest boot, but I cannot interact with it. Mouse and keyboard are completely ignored.

As an experiment to get I/O working, I wanted to try using SDL instead of VNC for the console, but I cannot figure out how to change the configuration of an existing domU in the xapi of xcp.

For instance, there is a great guide to creating a HVM configuration file at http://www.virtuatopia.com/index.php/Configuring_and_Installating_a_Xen_Hardware_Virtual_Machine_(HVM)_domainU_Guest, but it does me no good, if the HVM already exists, and I cannot find the configuration file.

Any advice is appreciated. Either how to fix my input in my console, or how to reconfigure my console so it will work (SDL, serial console via pty and minicom, etc. – doesn't matter).

It took me almost a day just to figure out how to reduce the RAM usage of dom0 down to a low enough value that I could even launch a guest domU. Once I got that done, I now have a worthless console! (I got it to work exactly ONCE, while I was switching the vm-param values from a HVM to a PV and back, and didn't finish configuring pfSense before I had to reboot the guest, and haven't been able to get it to work since).

Best Answer

I have a running pfsense 2.0 as a HVM guest with xen 4.0. on Debian, During the install I selected embeeded install to get the serial console.

Here is the configuration I used:

kernel = "/usr/lib/xen-default/boot/hvmloader"
builder='hvm'
memory = 256
name = "pf.openforce.com"
vif = [ 'type=ioemu, bridge=eth0' ]
disk = ['file:/opt/cloud/pfSense-2.0.1-RELEASE-amd64.iso,hdb:cdrom,r', 'phy:/dev/mapper/vg04-pf.openforce.com,hda,w', ]
boot="c"

sdl=0
vnc=1
vnclisten="0.0.0.0"
vncpasswd='passwd'
stdvga=0
serial='pty'
usbdevice='tablet'

After that I get a serial console with xm console.

Related Topic