我已经下载了 linux 内核源代码 v4.2.0 并构建了它。现在我正在尝试编译一个驱动程序模块并在控制台上查看调试日志。
我正在通过以下命令编译模块:
make -C /lib/modules/4.2.0-16-generic/build M=$PWD
还启用了所有内核调试日志,如下所示:
#echo 8 > /proc/sys/kernel/printk
sanjeev@sanjeev:~$ cat /proc/sys/kernel/printk
8 4 1 7
当我加载此模块时,无法使用 dmesg 查看内核日志(具有日志级别)。如果我使用 printk("Some message") 打印消息,它会在控制台上打印,但是如果我通过 printk(KERN_INFO, "Some message") 它没有打印在控制台上。编译模块时是否缺少任何配置?
最佳答案
这个问题是因为 printk 中日志级别后的逗号 ',' 它应该是 printk(KERN_INFO "Some message")
关于linux - 如何在启用调试日志的情况下编译内核模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40653110/