修改kernel的打印等级的几种方法

对于bootloader启动的linux kernel,如果kernel的打印等级/proc/sys/kernel/printk是默认值7 4 1 7,(四个值的含义:控制台日志级别、默认的消息日志级别、最低的控制台日志级别和默认的控制台日志级别),启动之后kernel的打印还是比较多的。
如果需要临时关闭kernel的log,可以再串口输入命令:echo "0 0 0 0" > /proc/sys/kernel/printk
需要恢复的话可以输入:echo ”7 4 1 7“ > /proc/sys/kernel/printk


但是上述关闭kernel打印的方法之适合系统启动之后关闭,如果需要系统启动预设的话,有多种方法,下面介绍我用过的两种:
1. 可以修改kernel源码中定义7 4 1 7 的地方:
在kernel的源码中的文件kernel/printk.c 中被定义的,如下:
int console_printk[4] = {
DEFAULT_CONSOLE_LOGLEVEL, /* console_loglevel */
DEFAULT_MESSAGE_LOGLEVEL, /* default_message_loglevel */
MINIMUM_CONSOLE_LOGLEVEL, /* minimum_console_loglevel */
DEFAULT_CONSOLE_LOGLEVEL, /* default_console_loglevel */
};
修改上面定义的值即可。
2. 另外一种方法是,设置系统的quiet模式启动
1. 在bootloader命令行下:print bootargs
2. 把bootargs的值copy出来,在值最后添加字段quiet
3. 然后setenv bootargs 修改后的字段
则系统启动之后的/proc/sys/kernel/printk为4 4 1 7,kernel的打印会少很多。

你可能感兴趣的:(kernel)