我这么做的原因有三个:
1)我修改了Linux内核,但是无法正常启动,进不了系统无法使用dmesg,所以想利用串口调试的功能输出启动信息
2)网上查了一堆资料,如何使Xen HVM通过串口输出,客户端我试了minicom和gtkterm,没成功。。。
3)在XenCommonProblems中查到可以使用xm console输出HVM的启动信息,于是使用之。
现在还有一个问题是,内核没有正常启动时输出了许多stack trace信息,还是会发生无法全部捕获的情况,如果谁有好的办法,麻烦留言告诉我,万分感谢。。。
唉,折磨死我了,暂时记录下自己的设置,不保证通用
我的HVM DomU是Ubuntu 10.04,所以找到了这篇文章《SerialConsoleHowto》,文章里还有minicom客户端的设置,不过我需要使用xm console,所以总结一下一共就三步:
1)在/etc/init目录下添加一个ttyS0.conf文件,内容如下
# ttyS0 - getty # # This service maintains a getty on ttyS0 from the point the system is # started until it is shut down again. start on stopped rc RUNLEVEL=[2345] stop on runlevel [!2345] respawn exec /sbin/getty -L 115200 ttyS0 vt1022)编辑/etc/default/grub文件,修改如下几个参数
GRUB_CMDLINE_LINUX="console=tty0 console=ttyS0"
GRUB_TERMINAL=serial GRUB_SERIAL_COMMAND="serial --speed=115200 --unit=0 --word=8 --parity=no --stop=1"
这里因为我要输出domU的启动信息,所以需要把GRUB_CMDLINE_LINUX_DEFAULT参数中的“quiet”去掉,因为它会阻止正常的文本输出。。。
3)更新grubsudo update-grub
最后,在domU的config文件中添加一行:
serial='pty'
启动虚拟机,然后xm console name,就可以看到domU的启动信息了