需求: 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 | 调试消息。设置此级别会打印所有日志消息。 |