On Tue, May 13, 2014 at 10:56:58AM +0200, Karel Zak wrote: > On Thu, May 08, 2014 at 12:09:22PM +0200, Werner Fink wrote: > > The nowadays used plymouth locks the devices used for the system > > console which causes that agetty as well as sulogin can not modify > > the termios settings of e.g. the serial devices of the systenm console. > > All applied, thanks! > > > + int fd = con->fd, i = (plymouth_command("--ping")) ? 20 : 0; > > + > > + while (i-- > 0) { > > + /* > > + * With plymouth the termios flags become changed after this > > + * function had changed the termios. > > + */ > > + memset(&lock, 0, sizeof(struct termios)); > > + if (ioctl(fd, TIOCGLCKTRMIOS, &lock) < 0) > > + break; > > + if (!lock.c_iflag && !lock.c_oflag && !lock.c_cflag && !lock.c_lflag) > > + break; > > + if (i == 15 && plymouth_command("quit") != 0) > > + break; > > + sleep(1); > > + } > > + memset(&lock, 0, sizeof(struct termios)); > > + ioctl(fd, TIOCSLCKTRMIOS, &lock); > > I hope 20s sleep is the worst case and in normal situations we don't > have to call plymouth "quit" from sulogin/agetty. Indeed the 20 seconds are the worst case, in normal case this is not hit but during debugging a few service units I had run into a blocking plymouth, that is that plymouth hold the terminal termios structure locked and this has lead to that fact that no password could be specified. In my experience plymouth has some more further side effects if on is using a further serial console or if there is no virtual console (s390 and some x86_64 server systems). Maybe upstream of plymouth is not aware that in server business a virtual console used for graphic is not that common. Werner -- "Having a smoking section in a restaurant is like having a peeing section in a swimming pool." -- Edward Burr
Attachment:
pgpiWcxYVy5_b.pgp
Description: PGP signature