So, I had some time to see why XEN refused to work last time.

The first obvious problem was that I had not loaded any modules. So far, so good. I quickly loaded all back-related modules, specifically netloop, netbk, blkbk, and xenblktap. Not loading these would give weird errors about a device not being connectable. One would think that XEN can give more understandable error messages. The case is that it would give the same message if you’re missing the module and if the path to the file representing a block device is invalid. So, be careful.

Loaded the modules and “xm create” behaved much better. No errors, but it hang for a long time. I didn’t know how to interpret the output of “xm list”, so I had no clue if the guest domain was running or not. I tried “xm create -c” but it would just bail (after a 30 second wait) with a message that it cannot connect to the console. “netstat -tnlp” did not suggest that anything is listening on a 59xx port, as I was expecting. So I started digging around why an hvm XEN guest would refuse to start vnc.

I actually tried some domains from the XEN demo cd and they worked just fine. So it was something to do with hvm obviously. And it turns out it is, hvm guests need the “tun” module loaded in the host. “modprobe tun” and everything was working.

Now, the last issue I had was with the networking scripts that xen comes with. They are horrible and I’ll go over them in a second post…