Reduce boot time console messages?
Hi, My kernel is printing too many messages at boot time from a special device driver (j2ffs filesystem). I belive these kernel messages are level DEBUG. If don't change the kernel code, is there anyway to print only some higher level of messages? Thanks in advance. -- I can't go back to yesterday - because I was a different person then
On Sat, 03 Aug 2013 20:27:55 +0800, Woody Wu said:
Hi,
My kernel is printing too many messages at boot time from a special device driver (j2ffs filesystem). I belive these kernel messages are level DEBUG. If don't change the kernel code, is there anyway to print only some higher level of messages?
In your kernel source tree, there's a file called Documentation/kernel-parameters.txt and in it, we find documentation of the following two boot-time parameters: ignore_loglevel [KNL] Ignore loglevel setting - this will print /all/ kernel messages to the console. Useful for debugging. We also add it as printk module parameter, so users could change it dynamically, usually by /sys/module/printk/parameters/ignore_loglevel. ... loglevel= All Kernel Messages with a loglevel smaller than the console loglevel will be printed to the console. It can also be changed with klogd or other programs. The loglevels are defined as follows: 0 (KERN_EMERG) system is unusable 1 (KERN_ALERT) action must be taken immediately 2 (KERN_CRIT) critical conditions 3 (KERN_ERR) error conditions 4 (KERN_WARNING) warning conditions 5 (KERN_NOTICE) normal but significant condition 6 (KERN_INFO) informational 7 (KERN_DEBUG) debug-level messages In addition, there may or may not be a module parameter to control the logging level of the particular module - look for the word 'debug' in that file. There's also the 'dynamic debugging' facility which the module may be coded to support....
On Sat, Aug 03, 2013 at 10:08:42AM -0400, Valdis.Kletnieks@vt.edu wrote:
On Sat, 03 Aug 2013 20:27:55 +0800, Woody Wu said:
Hi,
My kernel is printing too many messages at boot time from a special device driver (j2ffs filesystem). I belive these kernel messages are level DEBUG. If don't change the kernel code, is there anyway to print only some higher level of messages?
In your kernel source tree, there's a file called Documentation/kernel-parameters.txt and in it, we find documentation of the following two boot-time parameters:
ignore_loglevel [KNL] Ignore loglevel setting - this will print /all/ kernel messages to the console. Useful for debugging. We also add it as printk module parameter, so users could change it dynamically, usually by /sys/module/printk/parameters/ignore_loglevel. ...
loglevel= All Kernel Messages with a loglevel smaller than the console loglevel will be printed to the console. It can also be changed with klogd or other programs. The loglevels are defined as follows:
0 (KERN_EMERG) system is unusable 1 (KERN_ALERT) action must be taken immediately 2 (KERN_CRIT) critical conditions 3 (KERN_ERR) error conditions 4 (KERN_WARNING) warning conditions 5 (KERN_NOTICE) normal but significant condition 6 (KERN_INFO) informational 7 (KERN_DEBUG) debug-level messages
Valdis, thank you very much. I just passed loglevel=7 as kernel command line and hope it can suspress KERN_DEBUG messages printed out to console at boot time. But, it seems not work. A lot of debug level messages from jffs2 module still print out. I will go to check where is wrong.
In addition, there may or may not be a module parameter to control the logging level of the particular module - look for the word 'debug' in that file. There's also the 'dynamic debugging' facility which the module may be coded to support....
-- I can't go back to yesterday - because I was a different person then
On Mon, 05 Aug 2013 11:07:26 +0800, Woody Wu said:
Valdis, thank you very much. I just passed loglevel=7 as kernel command line and hope it can suspress KERN_DEBUG messages printed out to console at boot time. But, it seems not work. A lot of debug level messages from jffs2 module still print out. I will go to check where is wrong.
Weird. Do the "debugging" messages actually have the string '[JFFS2 DBG]' in them? If not, then they're some *other* messages from jffs2. Also, double-check you don't have ignore_loglevel in the kernel command line. (This one can be tricky - do a 'cat /proc/cmdline' once you're booted to see what you really had - there's support for compiling in all/part of a commandline to work around buggy boot loaders that only support insanely short parameter lists - so what your boot loader said it passed to the kernel may not be what the kernel used).
On Mon, Aug 05, 2013 at 12:44:49AM -0400, Valdis.Kletnieks@vt.edu wrote:
On Mon, 05 Aug 2013 11:07:26 +0800, Woody Wu said:
Valdis, thank you very much. I just passed loglevel=7 as kernel command line and hope it can suspress KERN_DEBUG messages printed out to console at boot time. But, it seems not work. A lot of debug level messages from jffs2 module still print out. I will go to check where is wrong.
Weird. Do the "debugging" messages actually have the string '[JFFS2 DBG]' in them? If not, then they're some *other* messages from jffs2.
Also, double-check you don't have ignore_loglevel in the kernel command line. (This one can be tricky - do a 'cat /proc/cmdline' once you're booted to see what you really had - there's support for compiling in all/part of a commandline to work around buggy boot loaders that only support insanely short parameter lists - so what your boot loader said it passed to the kernel may not be what the kernel used).
Sorry for such late reply. Those dirty messages from jffs2 doesn't have '[JFFS2 DBG]' or other prefixes. Okay, I will look up the kernel source again, to see if there are really KERN_DEBUG level. Btw: How can I know what command line parameters a module can recogonize? I remember there is a definition to search in kernel .c files. Thanks. -- I can't go back to yesterday - because I was a different person then
participants (2)
-
Valdis.Kletnieks@vt.edu -
Woody Wu