Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| console_loglevel [2018/11/23 13:34] – [lib/Kconfig.debug] rpjday | console_loglevel [2018/11/23 15:33] (current) – [Overview] rpjday | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ===== Overview ===== | ===== Overview ===== | ||
| - | How to mess with '' | + | Properties of console |
| ===== Files ===== | ===== Files ===== | ||
| Line 15: | Line 15: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| Line 26: | Line 27: | ||
| * / | * / | ||
| * / | * / | ||
| + | |||
| + | ===== Kernel parameters ===== | ||
| + | |||
| + | < | ||
| + | loglevel= | ||
| + | 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) | ||
| + | 1 (KERN_ALERT) | ||
| + | 2 (KERN_CRIT) | ||
| + | 3 (KERN_ERR) | ||
| + | 4 (KERN_WARNING) | ||
| + | 5 (KERN_NOTICE) | ||
| + | 6 (KERN_INFO) | ||
| + | 7 (KERN_DEBUG) | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | 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, | ||
| + | / | ||
| + | </ | ||
| ===== Kernel source files ===== | ===== Kernel source files ===== | ||
| + | ==== kernel/ | ||
| + | |||
| + | < | ||
| + | int console_printk[4] = { | ||
| + | CONSOLE_LOGLEVEL_DEFAULT, | ||
| + | MESSAGE_LOGLEVEL_DEFAULT, | ||
| + | CONSOLE_LOGLEVEL_MIN, | ||
| + | CONSOLE_LOGLEVEL_DEFAULT, | ||
| + | }; | ||
| + | </ | ||
| + | |||
| + | ==== include/ | ||
| + | |||
| + | < | ||
| + | /* printk' | ||
| + | #define MESSAGE_LOGLEVEL_DEFAULT CONFIG_MESSAGE_LOGLEVEL_DEFAULT | ||
| + | |||
| + | /* We show everything that is MORE important than this.. */ | ||
| + | #define CONSOLE_LOGLEVEL_SILENT | ||
| + | #define CONSOLE_LOGLEVEL_MIN 1 /* Minimum loglevel we let people use */ | ||
| + | #define CONSOLE_LOGLEVEL_DEBUG 10 /* issue debug messages */ | ||
| + | #define CONSOLE_LOGLEVEL_MOTORMOUTH 15 /* You can't shut this one up */ | ||
| + | |||
| + | /* | ||
| + | * Default used to be hard-coded at 7, quiet used to be hardcoded at 4, | ||
| + | * we're now allowing both to be set from kernel config. | ||
| + | */ | ||
| + | #define CONSOLE_LOGLEVEL_DEFAULT CONFIG_CONSOLE_LOGLEVEL_DEFAULT | ||
| + | #define CONSOLE_LOGLEVEL_QUIET CONFIG_CONSOLE_LOGLEVEL_QUIET | ||
| + | |||
| + | extern int console_printk[]; | ||
| + | |||
| + | #define console_loglevel (console_printk[0]) | ||
| + | #define default_message_loglevel (console_printk[1]) | ||
| + | #define minimum_console_loglevel (console_printk[2]) | ||
| + | #define default_console_loglevel (console_printk[3]) | ||
| + | |||
| + | static inline void console_silent(void) | ||
| + | { | ||
| + | console_loglevel = CONSOLE_LOGLEVEL_SILENT; | ||
| + | } | ||
| + | |||
| + | static inline void console_verbose(void) | ||
| + | { | ||
| + | if (console_loglevel) | ||
| + | console_loglevel = CONSOLE_LOGLEVEL_MOTORMOUTH; | ||
| + | } | ||
| + | </ | ||
| ==== lib/ | ==== lib/ | ||
| Line 72: | Line 148: | ||
| by default. To change that, use loglevel=< | by default. To change that, use loglevel=< | ||
| or pick a different CONSOLE_LOGLEVEL_DEFAULT configuration value. | or pick a different CONSOLE_LOGLEVEL_DEFAULT configuration value. | ||
| - | </ | ||
| - | |||
| - | ==== include/ | ||
| - | |||
| - | < | ||
| - | /* printk' | ||
| - | #define MESSAGE_LOGLEVEL_DEFAULT CONFIG_MESSAGE_LOGLEVEL_DEFAULT | ||
| - | |||
| - | /* We show everything that is MORE important than this.. */ | ||
| - | #define CONSOLE_LOGLEVEL_SILENT | ||
| - | #define CONSOLE_LOGLEVEL_MIN 1 /* Minimum loglevel we let people use */ | ||
| - | #define CONSOLE_LOGLEVEL_QUIET 4 /* Shhh ..., when booted with " | ||
| - | #define CONSOLE_LOGLEVEL_DEBUG 10 /* issue debug messages */ | ||
| - | #define CONSOLE_LOGLEVEL_MOTORMOUTH 15 /* You can't shut this one up */ | ||
| - | |||
| - | /* | ||
| - | * Default used to be hard-coded at 7, we're now allowing it to be set from | ||
| - | * kernel config. | ||
| - | */ | ||
| - | #define CONSOLE_LOGLEVEL_DEFAULT CONFIG_CONSOLE_LOGLEVEL_DEFAULT | ||
| - | |||
| - | extern int console_printk[]; | ||
| - | |||
| - | #define console_loglevel (console_printk[0]) | ||
| - | #define default_message_loglevel (console_printk[1]) | ||
| - | #define minimum_console_loglevel (console_printk[2]) | ||
| - | #define default_console_loglevel (console_printk[3]) | ||
| - | |||
| - | static inline void console_silent(void) | ||
| - | { | ||
| - | console_loglevel = CONSOLE_LOGLEVEL_SILENT; | ||
| - | } | ||
| - | |||
| - | static inline void console_verbose(void) | ||
| - | { | ||
| - | if (console_loglevel) | ||
| - | console_loglevel = CONSOLE_LOGLEVEL_MOTORMOUTH; | ||
| - | } | ||
| </ | </ | ||