diff --git a/TODO b/TODO
index f8a1b1b57..7883b7e33 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 7ff2709fb..db5d38a74 100644
--- a/man/kernel-command-line.xml
+++ b/man/kernel-command-line.xml
@@ -110,6 +110,18 @@
+
+ debug
+
+ Parameter understood by
+ both the kernel and the system
+ and service manager to control
+ console log verbosity. For
+ details see
+ systemd1.
+
+
+
emergency
single
diff --git a/man/systemd.xml b/man/systemd.xml
index d009ed8e1..497dd2bfe 100644
--- a/man/systemd.xml
+++ b/man/systemd.xml
@@ -1114,15 +1114,28 @@
quiet
- If passed turns off
+ Turn off
status output at boot, much like
systemd.show_status=false
would. Note that this option is also
read by the kernel itself and disables
- kernel log output to the
- kernel. Passing this option hence
- turns off the usual output from both
- the system manager and the
+ kernel log output. Passing this option
+ hence turns off the usual output from
+ both the system manager and the kernel.
+
+
+
+
+ debug
+
+ Turn on debugging
+ output. This is equivalent to
+ systemd.log_level=debug.
+ 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.
diff --git a/src/core/main.c b/src/core/main.c
index bf1e3e8ff..bb7364054 100644
--- a/src/core/main.c
+++ b/src/core/main.c
@@ -410,6 +410,8 @@ 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);
else if (!in_initrd()) {
unsigned i;