[systemd-devel] [PATCH] core: read "debug" from kernel commandline and set log level and target
Lukas Nykryn
lnykryn at redhat.com
Wed May 29 05:09:56 PDT 2013
---
TODO | 3 ---
man/kernel-command-line.xml | 12 ++++++++++++
man/systemd.xml | 16 ++++++++++++++++
src/core/main.c | 4 ++++
4 files changed, 32 insertions(+), 3 deletions(-)
diff --git a/TODO b/TODO
index f8a1b1b..7883b7e 100644
--- a/TODO
+++ b/TODO
@@ -56,9 +56,6 @@ Features:
complain loudly if they have argv[0][0] == '@' set.
https://bugzilla.redhat.com/show_bug.cgi?id=961044
-* read the kernel's console "debug" keyword like we read "quiet" and adjust:
- systemd.log_level=debug and maybe systemd.log_target=kmsg
-
* add an option to nspawn that uses seccomp to make socket(AF_NETLINK,
SOCK_RAW, NETLINK_AUDIT) fail the the appropriate error code that
makes the audit userspace to think auditing is not available in the
diff --git a/man/kernel-command-line.xml b/man/kernel-command-line.xml
index 7ff2709..db5d38a 100644
--- a/man/kernel-command-line.xml
+++ b/man/kernel-command-line.xml
@@ -111,6 +111,18 @@
</varlistentry>
<varlistentry>
+ <term><varname>debug</varname></term>
+ <listitem>
+ <para>Parameter understood by
+ both the kernel and the system
+ and service manager to control
+ console log verbosity. For
+ details see
+ <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>emergency</varname></term>
<term><varname>single</varname></term>
<term><varname>s</varname></term>
diff --git a/man/systemd.xml b/man/systemd.xml
index d009ed8..8bb13be 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -1127,6 +1127,22 @@
</varlistentry>
<varlistentry>
+ <term><varname>debug</varname></term>
+
+ <listitem><para>If passed turns on
+ debugging output. This is equivalent to
+ <varname>systemd.log_level=debug</varname>
+ <varname>systemd.log_target=kmsg</varname>.
+ Note that this option is also
+ read by the kernel itself and enables
+ kernel debug output.
+ Passing this option hence
+ turns on the debug output from both
+ the system manager and the
+ kernel.</para></listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>emergency</varname></term>
<listitem><para>Boot into emergency
diff --git a/src/core/main.c b/src/core/main.c
index 7fc06be..4204e07 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -411,6 +411,10 @@ static int parse_proc_cmdline_word(const char *word) {
} else if (streq(word, "quiet"))
arg_show_status = false;
+ else if (streq(word, "debug")) {
+ log_set_max_level(LOG_DEBUG);
+ log_set_target(LOG_TARGET_KMSG);
+ }
else if (!in_initrd()) {
unsigned i;
--
1.8.1.4
More information about the systemd-devel
mailing list