[systemd-devel] [PATCH 2/2] vconsole-setup: setup negative conditional on uml
lennart at poettering.net
Mon Jul 22 15:22:57 PDT 2013
On Mon, 22.07.13 13:31, Ramkumar Ramachandra (artagnon at gmail.com) wrote:
> Lennart Poettering wrote:
> > They can call their ttys any way they want. If the call them
> > /dev/tty[1..64] however, then they need to implement the VC
> > interfaces. All of them.
> > Also note that some hypervisors implement /dev/hvc0, /dev/xvc0,
> > /dev/hvsi0 and suchlike. Theser are also ttys, which are used for
> > interfacing in a VT-like way the virtual machines. But they do not claim
> > to ve the real VT, they hence picked different tty names.
> Got it. So, it should have provided /dev/tum* (or something) instead
> of /dev/tty*. But what can we do about it now? I certainly cannot
> remove /dev/tty* and murder the users.
You could make it a compile time option, and systemd would require it to
be one. We require quite a few kernel compile time options to be on,
this would just be another one.
> Let's say I pull a few all-nighters and actually finish that darned VT
> emulation. [2/2] is unnecessary now, because vconsole-setup.service
> passes. But we still need my original [1/2], since UML connects
> /dev/console to fd:0,fd:1 by default: otherwise, new users will be
> confused that they don't get a prompt when they execute:
> $ ./linux ubd0=arch-rootfs
What /dev/console points to is not defined, i.e. it doesn't have to be a
VC, it can be any kind of termianl. A serial console, a hypervisor
console, you name it. systemd doesn't make much assumptions about it. It
tries to figure out what it points to though, and if it figures out it
is actually pointing to a VT then it will set TERM=linux on any shell it
starts on it, and TERM=vt102 for everything else as somewhat reasonable
minimal default that works more often than not.
> Once this gives a prompt, why bother connecting to /dev/tty* at all?
That's of course up to you. If you don't need multiplexed ttys on the
virtualization level, then that's certainly fine with me.
Lennart Poettering - Red Hat, Inc.
More information about the systemd-devel