[systemd-devel] [PATCH] use systemd.debug on the kernel command line, not "debug"

Tom Gundersen teg at jklm.no
Thu Apr 3 02:08:52 PDT 2014


On Thu, Apr 3, 2014 at 12:27 AM, Greg KH <gregkh at linuxfoundation.org> wrote:
> If the kernel is started with "debug", that's for the kernel to switch
> into debug mode.  We should rely on a namespace for our options, like
> everything else (with the exception of "quiet").

Just a quick note, we do in fact read a lot of kernel parameters in
addition to 'debug' and 'quiet'. What springs to mind is 'init=',
'root=', 'rootflags=', 'rootfs=', 'ro', 'rw', and 'ip=' (there are
probably more, but these are the ones I added myself). My
understanding was that reusing the kernel commandline options, in a
consistent way, is generally ok. But I may of course have gotten the
wrong end of the stick here.

> Some people want to
> only debug the kernel, not systemd, and the opposite as well so make
> everyone happy.

I asked this before, but I guess this is the correct forum, so I'll
repeat myself:

My understanding is that currently we have "systemd.log_level=" which
affects only systemd, and "loglevel=" which affects only the kernel.
Moreover, "debug" currently implies "systemd.log_level=debug
loglevel=debug" (and as far as I know it will also increase the debug
output of other system-level processes, but these don't log much and
anyway not via the kernel, so let's ignore those).

This proposal is about making "debug" equivalent to "loglevel=debug"
and hence not affect systemd at all.

Is the rationale for this, simply a matter of preference, i.e., is the
claim simply that we believe most users would benefit more from the
'kernel only' compared to 'all low-level stuff' behavior? If that's
the case, I don't have an opinion on the patch, so I'll leave it to
those who do :)

Or is there actually a bug going on here? My impression from reading
related discussions was that "systemd.log_level=debug loglevel=debug"
triggers some bug (so in particular "debug" now triggers the bug). It
was not clear to me whether boot itself hangs, or if log-in becomes
impossible. Either way, I'm not able to reproduce it, so if anyone has
any more info on this, that would be useful.

Cheers,

Tom

> diff --git a/src/core/main.c b/src/core/main.c
> index 41605ee8d5cd..291b18519388 100644
> --- a/src/core/main.c
> +++ b/src/core/main.c
> @@ -416,7 +416,7 @@ static int parse_proc_cmdline_item(const char *key, const char *value) {
>                  if (arg_show_status == _SHOW_STATUS_UNSET)
>                          arg_show_status = SHOW_STATUS_AUTO;
>
> -        } else if (streq(key, "debug") && !value) {
> +        } else if (streq(key, "systemd.debug") && !value) {
>
>                  /* Log to kmsg, the journal socket will fill up before the
>                   * journal is started and tools running during that time
> _______________________________________________
> systemd-devel mailing list
> systemd-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/systemd-devel


More information about the systemd-devel mailing list