从用户空间向 printk 缓冲区发送消息--不起作用

从用户空间向 printk 缓冲区发送消息--不起作用

实际上,我希望驱动程序消息能够到达我的终端以进行调试。所以我只是尝试通过以下链接进行检查。

我引用了以下链接:--
http://elinux.org/Debugging_by_printing

我在 vmplayer 虚拟机中使用 ubuntu。Ubuntu 在虚拟机内以终端模式运行。我试图向内核 printk 缓冲区发送一些消息,但 echo 命令失败。

klog demon 也正在运行,我通过以下命令确认。

ps aux | grep klogd 

proc printk 条目上的 Cat 命令:---

# cat /proc/sys/kernel/printk
4 4 1 7

运行 echo 命令:---

#sudo echo "<1>Writing critical printk messages from userspace" >/dev/kmsg

但我无法在终端上收到消息。运行上述命令时,我收到以下错误:--

-bash: /dev/kmsg: Permission denied

请建议如何在控制台上打印?

我的实际要求是...将驱动程序中的 printk() 消息直接发送到控制台。我只是从控制台测试低优先级消息是否到达控制台。

答案1

使用:

echo "<1>Writing critical printk messages from userspace" | sudo tee /dev/kmsg

这个答案了解原因。

相关内容