内核printk没有打印
时间: 2023-06-10 07:06:36 浏览: 129
Linux内核调试技术之Printk
如果内核中的printk没有打印,有几个可能的原因:
1. printk级别太低: printk输出信息的级别是可以调整的,如果级别过低,可能会导致信息没有被输出。可以在printk函数中添加KERN_INFO、KERN_DEBUG等级别的参数来提高输出级别。
2. 打印信息被屏蔽:在内核中,有可能会屏蔽某些信息的输出。例如,当系统运行在安全模式(secure boot)时,一些敏感信息的输出可能会被屏蔽。可以查看系统的安全设置,或者在启动时添加相关参数来解除屏蔽。
3. printk缓冲区已满: printk输出信息时,会使用一个环形缓冲区来存储信息。如果缓冲区已满,新的信息就无法写入缓冲区,从而导致信息没有被输出。可以通过增加缓冲区的大小来解决这个问题。
4. 没有正确配置串口:如果使用串口输出信息,需要在内核配置文件中正确配置串口。如果串口配置不正确,信息就无法正确输出。可以检查内核配置文件中的串口配置是否正确。
阅读全文