[SeaBIOS] [PATCHv2 0/6] Improved multi-platform support

Ian Campbell ijc at hellion.org.uk
Wed Feb 13 12:30:13 CET 2013


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 at i7 ~]# cat seabios.cfg 
> builder = "hvm"
> name = "seabios"
> device_model_version_override = "qemu-xen"
> memory = 512
> serial = 'pty'
> [root at 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.

-- 
Ian Campbell

Laura's Law:
	No child throws up in the bathroom.




More information about the SeaBIOS mailing list