2016-04-15 80 views
0

我正在尝试调试Linux内核的模块。我听说可以将控制台输出发送到串行端口。我在vmware上运行Ubuntu并希望将printk消息发送给主机。 我设法建立了一个串行连接,并可以通过键入echo> simething/dev/ttyS1 发送回显到主机但我无法弄清楚如何将控制台上的输出发送到ttyS1。Send printk to serial

我的主要问题是,当模块/内核崩溃时,最后一次printk消息丢失甚至没有显示,它只是缓冲。

回答

2

尝试使用命令行'console = ttyS1,< baud>'引导内核,其中<波特率是您在VM设置中为该端口配置的波特率。内核将使用/ dev/ttyS1作为主控制台,这就是printk将其所有输出发送到的地方。

+0

我在/ etc/default/grub中添加了'GRUB_CMDLINE_LINUX =“console = ttyS1,115200n8”',然后运行update-grub并重新启动。然而没有什么要进入串口。我没有检查cmdline.txt,看看是否添加了console = ttyS1。我不知道波特率是错误的还是什么。 – Dave

+0

它的工作原理,谢谢!我想吻你。 – Dave