[systemd-devel] PATCH: fix logind on xen

Lennart Poettering lennart at poettering.net
Fri Jan 6 15:21:20 PST 2012


On Fri, 06.01.12 23:17, Jan Engelhardt (jengelh at medozas.de) wrote:

> >>>Where
> >>>does /dev/console point to? i.e. what is the contents of
> >>>/sys/class/tty/console/active if you do that?
> >> 
> >> Sorry, I was unclear. On Xen, you can login on a "text" terminal. When
> >> doing that, /sys/class/tty/console/active outputs : tty-1 tty0
> >
> >Hmm? So it claims "tty0" in that file, bug actually no /dev/tty0 device
> >exists? That souinds like a kernel bug to me.
> 
> 1. xencons=hvc (the modern variant)
>    creates: /dev/hvc0
>    implied defaults: console=hvc0
>    <sysfs>/active: "tty0 hvc0"

Judging by this the implied default is actually "console=tty0 console=hvc0".

>    /dev/tty0..63 exist.
> 
> 2. xencons=xvc
>    creates: /dev/xvc0
>    implied defaults: console=tty0 (!)
>    <sysfs>/active: "xvc-1 tty0" (bug?)
>    /dev/tty0..63 exist.

Judging by this the implied default is actually "console=xvc-1 console=tty0".

I do wonder where the "-1" comes from, is there an actual device called /dev/xvc-1?

> 3. xencons=tty
>    creates: nothing new
>    implied defaults: console=tty1
>    <sysfs>/active: "tty-1 tty0" (bug)
>    /dev/tty1..63 exist (!), no tty0.

Judging by this the implied default is actually "console=tty-1 console=tty0".

What's this supposed to mean anyway? That Xen emulates a traditional VC
of some kind? It's doing a very bad job in that if /dev/tty0 isn't
there... And what is tty-1 supposed to be? Is there an actual device
called /dev/tty-1?

> 4. xencons=ttyS
>    creates: /dev/ttyS0
>    implied defaults: console=tty0
>    <sysfs>/active: "ttyS-1 tty0" (bug...)
>    /dev/tty0..63 exist.

Judging by this the implied default is actually "console=ttyS-1 console=tty0".

Thinking a bit about this my guess is Xen stores -1 as a number for
the device somewhere and the code that formats the "active" string is a
bit confused about that. While it probably means that no such console is
configured the kernel just formats it as-is. Kay, you wrote that code,
say something!

And the 3rd setup apparently shows an additional bug.

Both these issues are clearly kernel bugs, and should be fixed in the
kernel. Somebody who cares about this should file bugs against the kernel.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list