[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