On Mon, 22.07.13 16:13, Ramkumar Ramachandra (artag...@gmail.com) wrote: > > [Corrected Lennart's email ID] > > Richard Weinberger wrote: > > CC'ing Lennart. > > > > Am 22.07.2013 11:45, schrieb Ramkumar Ramachandra: > >> Ramkumar Ramachandra wrote: > >>> [1]: > >>> http://lists.freedesktop.org/archives/systemd-devel/2013-July/012152.html > >> > >> ... and the patches were rejected. Lennart says that UML providing > >> /dev/tty* is wrong, and that UML should call them /dev/hvc* (or > >> something). Can we do something about the situation? Can we remove > >> /dev/tty*, and provide /dev/hvc*? Will we be breaking existing users? > >> > >> Thanks. > >> > >> Lennart Poettering wrote: > >>> UML shouldn't be penalized for not implementing some terminal emulation, > >>> but it should be penalized for doing so under the label of "VT support", > >>> which it simply is not providing. > >>> > >>> 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. > > > > Lennart, can you please explain us why /dev/tty[1..64] is forced to > > have virtual console support?
/dev/tty[1..64] is the userspace API to the kernel VT subsystem. If you support it you need to match up all /dev/tty[1..64] with a /dev/vcs[1..64] + /dev/vcsa[1..64]. You need to expose a tty that understands TERM=linux and the ioctls listed on console_ioctl(4). You need /dev/tty0 as something that behaves like a symlink to the fg VT. You should also support files like /sys/class/tty/tty0/active with its POLLHUP iface. If you expose a very different terminal than a VT as /dev/tty[1..64] this will confuse a lot of userspace, since userspace, be it systemd/logind, gpm, X11, openvt, ... all expect that /dev/tty[1..64] is the VT subsystem where all that functionality is available. And you just broke the userspace API quite badly. It's totally fine to register ttys with a different feature set under some other name you like, but if you name it /dev/tty[1..64] then userspace expects this to be the real deal. The various hypervisors understood this and provide their ttys under the name of /dev/hvc0 and suchlike. UML should probably do something similar. If you pick a name of your own, you have complete freedom what you actually implement... Lennart -- Lennart Poettering - Red Hat, Inc. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/