需求: linux 嵌入式启动的过程中,不希望从串口打印某些信息,但是dmesg 可以看到所有信息。
实现:
# cd 到linux 内核源码目录
# vi ./kernel/printk.c 修改
#define DEFAULT_CONSOLE_LOGLEVEL <level>
说明 1 <= level <= 7, 值越大, 打印到串口的信息越多,但不影响dmesg。
附件:
Linux 内核printk 串口日志级别说明
|
级别 |
对应内核日志级别 |
说明 |
|---|---|---|
|
0 |
KERN_EMERG |
紧急消息。系统崩溃之前提示,表示系统已不可用。 |
|
1 |
KERN_ALERT |
报告消息。表示必须立即采取措施。 |
|
2 |
KERN_CRIT |
临界消息。通常涉及严重的硬件或软件操作失败。 |
|
3 |
KERN_ERR |
错误消息。串口日志的默认级别。驱动程序常用 KERN_ERR 来报告硬件的错误。 |
|
4 |
KERN_WARNING |
警告消息。对可能出现问题的情况进行警告。 |
|
5 |
KERN_NOTICE |
正常但又重要的消息。用于提醒,常用于与安全相关的消息。 |
|
6 |
KERN_INFO |
提示消息。如驱动程序启动时,打印硬件消息。 |
|
7 |
KERN_DEBUG |
调试消息。设置此级别会打印所有日志消息。 |
本文指导如何在Linux内核源码中修改 printk.c,通过调整默认的串口日志级别,实现启动时不显示某些信息但仍能使用dmesg查看。附带了日志级别说明和操作步骤。

1667

被折叠的 条评论
为什么被折叠?



