On Wed, 2013-02-13 at 11:05 +0000, David Woodhouse wrote:
I'm running Fedora 18 with Xen 4.2.1 but using the Fedora 17 3.7.3 kernel because the F18 3.7.6 kernel doesn't find its root filesystem when booted under Xen. The Fedora KISS violation of using LVM by default bites again... but that shouldn't make any difference, right? Xen and all the userspace tools are up to date. And the kernel is fairly much the same anyway.
Right, the kernel shouldn't matter that much.
I've made no changes to anything so far; I'm just using the standard tools. It gets as far as the 'Daemon running' message, then sits there doing nothing for about 35 seconds before exiting back to the shell prompt. During that 35 seconds, a seabios domain does show up in 'xl list' and 'xl top' (taking 100% CPU time). I don't see *any* SeaBIOS output. This isn't a SeaBIOS with debug info (I'll possibly try that next) but I ought at least to have seen the 'No bootable device' message?
You used -c so you should be connected to the virtual COM1, so if SeaBIOS is logging anything to that you ought to see it. You could also try enabling vnc in your config ("vnc = 1") and attaching to that. By default it will find the first available port but you can force it with vncdisplay=N (where N is 0,1,2 rather than 500N, IIRC).
You say it dies after 35 seconds, is the VM actually dying or is the tool just giving up on the serial console? Sounds like the former from your description.You might find adding: on_shutdown = "preserve" on_reboot = "preserve" on_crash = "preserve" to your config useful to give you enough time to connect to VNC and have a proper look. You'll need to explicitly "xl destroy seabios" if you do this.
Hopefully that will be enough to figure out what is going on, if not then read on...
Is there anything of interest in /var/log/xen/*seabios* or "xl dmesg"? Could you post the output of "xl -vvv create -c seabios.cfg" please.
Dario, have you ever run a domain with qemu-xen on a Fedora 18 box, it ought to work, right?
[root@i7 ~]# cat seabios.cfg builder = "hvm" name = "seabios" device_model_version_override = "qemu-xen" memory = 512 serial = 'pty' [root@i7 ~]# xl create -c seabios.cfg Parsing config from seabios.cfg xc: info: VIRTUAL MEMORY ARRANGEMENT: Loader: 0000000000100000->000000000019e3a8 TOTAL: 0000000000000000->000000001f800000 ENTRY ADDRESS: 0000000000100000 xc: info: PHYSICAL MEMORY ALLOCATION: 4KB PAGES: 0x0000000000000200 2MB PAGES: 0x00000000000000fb 1GB PAGES: 0x0000000000000000 Daemon running with PID 3071
What's the best way to debug this?
If the VNC console shows nothing then I find the easiest way is usually to build a debug hypervisor so that the magic debug I/O port goes somewhere useful.
Ian.