使用Serial Over Lan(SOL)来双机调试 XEN,在 XEN 启动时,引导信息输出到如下这一句时,就再也不发送调试信息了:api
...
(XEN) Intel machine check reporting enabled (XEN) I/O virtualisation disabled (XEN) Enabled directed EOI with ioapic_ack_old on! (XEN) ENABLING IO-APIC IRQs (XEN) -> Using old ACK method (XEN) ..TIMER: vector=0xF0 apic1=0 pin1=2 apic2=-1 pin2=-1 (XEN) Platform timer is 14.318MHz HPET (
至关奇怪,输出到上文的“(”时就再也不有调试信息了,只有当 XEN 所在的 Linux 关机时,断电的瞬间才把剩下的全部调试信息一会儿发送到接收端。后来查了相关信息,原来是由于 XEN 异步输出信息时会与 Intel AMT 相冲突。解决办法很简单,在 grub 中的“kernel”那一行中增长一个参数便可:“sync_console”:app
title CentOS (3.1.2-xen-SOL) root(hd0,0) kernel /xen.gz dom0_mem=512M loglvl=all guest_loglvl=all sync_console console_to_ring console=vga,com1 com1=115200,8n1,0x1808,17 module /vmlinuz-3.1.2 ro root=/dev/mapper/vg_livecd-lv_root console=hvc0 console=tty0 earlyprintk=xen module /initramfs-3.1.2.img
这时再重启查看调试信息,问题就解决了,同时XEN的调试信息中也给出了提醒:dom
(XEN) **********************************************
(XEN) ******* WARNING: CONSOLE OUTPUT IS SYNCHRONOUS
(XEN) ******* This option is intended to aid debugging of Xen by ensuring
(XEN) ******* that all output is synchronously delivered on the serial line.
(XEN) ******* However it can introduce SIGNIFICANT latencies and affect
(XEN) ******* timekeeping. It is NOT recommended for production use!
(XEN) **********************************************
(XEN) 3... 2... 1...
大概意思就是为了调试方即可以添加这一项,可是在生成产品时要把这参数去掉,不然会影响性能。异步