Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1866877
  • 博文数量: 473
  • 博客积分: 13997
  • 博客等级: 上将
  • 技术积分: 5953
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-22 11:52
文章分类

全部博文(473)

文章存档

2014年(8)

2013年(38)

2012年(95)

2011年(181)

2010年(151)

分类: LINUX

2013-01-21 22:44:01

我们在启动xen的时候,刚开始的输出都是直接输出到屏幕上,但是domain0启动之后xen里面调试信息的输出就看不到了(应该是为了防止domain0的输出和xen中的输出混杂着吧),但是我们看xen的代码可以看到里面还有很多printk操作,这些printk打印输出的内容是到哪里了呢? 嗯,没错是输出到串口了
内核调试,因为较难进行单步调试,希望是能够通过一些打印信息帮助我们定位到自己写的内核代码的错误位置(完全黑黑的屏幕看得人很纠结,review代码找错误的痛苦只有自己经历了才知道)
ok,废话到这,下面说一下如何配置xen使其能够通过串口输出信息,帮助我们调试or其他xxx的事情

1.准备两台机器(带xen的主机,用于调试的从机),准备一根串口线,通过主机箱背后的串口接口将俩机器连接起来(有的机器没有串口的,可以买一个串口-USB的转接线,这样就可以一端用串口,一端用USB,不过不便的是还需要安装一个USB驱动才行)
2.修改主机xen启动选项:
/boot/grub/grub.conf

kernel /boot/xen-3.4.gz sched=credit loglvl=all guest_loglvl=all debug_stack_lines=80 console=vga,com1 com1=115200,8n1
module /boot/vmlinuz-2.6.18.8-xen ro root=LABEL=/ console=tty0 max_loop=128 xencons=ttyS0,115200
module /boot/initrd-2.6.18.8-xen.img
3.从机可以通过超级终端或者是putty来连接到主机,我是用的putty,大概步骤如下:
1)新建一个session,在connection下的serial项中修改如下
serial line to connect to  COM1
speed(baud)             115200
Data bits                       8
Stop bits                       1
Parity                            None

Flow control                   XON/XOFF

2)回到最开始的session处,在Connection type处选择Serial。选择后对应上面一行的内容也会改变,在Serial line下框中填入:COM1, Speed下框中填入115200



阅读(932) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~