Am Sat, 26 Feb 2005 15:45:05 -0800 schrieb Andrew Morton <[EMAIL PROTECTED]>:

> Matthias Kunze <[EMAIL PROTECTED]> wrote:
> >
> > I've created a little patch to make the default loglevel a configurable
> >  option.
> 
> It'd be better to make it a kernel boot option, IMO.  We already have
> `debug' and `quiet' (init/main.c), which are rather silly things.  An
> option to set the initial loglevel would make sense.
> 

I've added the boot option, it will override the compile-time option.

diff -Naur linux-2.6.10/Documentation/kernel-parameters.txt 
linux-2.6.10-new/Documentation/kernel-parameters.txt
--- linux-2.6.10/Documentation/kernel-parameters.txt    2005-02-27 
02:47:09.000000000 +0100
+++ linux-2.6.10-new/Documentation/kernel-parameters.txt        2005-02-27 
02:52:36.000000000 +0100
@@ -634,6 +634,20 @@
        logibm.irq=     [HW,MOUSE] Logitech Bus Mouse Driver
                        Format: <irq>
 
+        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
+
        log_buf_len=n   Sets the size of the printk ring buffer, in bytes.
                        Format is n, nk, nM.  n must be a power of two.  The
                        default is set in kernel config.
diff -Naur linux-2.6.10/drivers/video/console/Kconfig 
linux-2.6.10-new/drivers/video/console/Kconfig
--- linux-2.6.10/drivers/video/console/Kconfig  2004-12-24 22:34:26.000000000 
+0100
+++ linux-2.6.10-new/drivers/video/console/Kconfig      2005-02-27 
02:44:58.000000000 +0100
@@ -186,5 +186,26 @@
          big letters (like the letters used in the SPARC PROM). If the
          standard font is unreadable for you, say Y, otherwise say N.

+config DEFAULT_CONSOLE_LOGLEVEL
+        int "Default Console Loglevel"
+        range 1 8
+        default 7
+        help
+          All Kernel Messages with a loglevel smaller than the console loglevel
+          will be printed to the console. This value can be overriden by the
+          boot parameter loglevel=NUM. 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
+
+          The console loglevel can be set to a value in the range from 1 to 8.
+
 endmenu
 
diff -Naur linux-2.6.10/init/main.c linux-2.6.10-new/init/main.c
--- linux-2.6.10/init/main.c    2005-02-27 02:48:32.000000000 +0100
+++ linux-2.6.10-new/init/main.c        2005-02-27 02:39:08.000000000 +0100
@@ -209,6 +209,14 @@
 __setup("debug", debug_kernel);
 __setup("quiet", quiet_kernel);
 
+static int __init loglevel(char *str)
+{
+        get_option(&str, &console_loglevel);
+        return 1;
+}
+
+__setup("loglevel=", loglevel);
+
 /*
  * Unknown boot options get handed to init, unless they look like
  * failed parameters
diff -Naur linux-2.6.10/kernel/printk.c linux-2.6.10-new/kernel/printk.c
--- linux-2.6.10/kernel/printk.c        2005-02-27 02:48:32.000000000 +0100
+++ linux-2.6.10-new/kernel/printk.c    2005-02-27 02:39:18.000000000 +0100
@@ -41,7 +41,7 @@
 
 /* We show everything that is MORE important than this.. */
 #define MINIMUM_CONSOLE_LOGLEVEL 1 /* Minimum loglevel we let people use */
-#define DEFAULT_CONSOLE_LOGLEVEL 7 /* anything MORE serious than KERN_DEBUG */
+#define DEFAULT_CONSOLE_LOGLEVEL CONFIG_DEFAULT_CONSOLE_LOGLEVEL
 
 DECLARE_WAIT_QUEUE_HEAD(log_wait);
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to