Subject: Re: bug#30467: GuixSD fails to display login prompt on headless server

From: Danny Milosavljevic <[email-masked]>
Date: Thu, 15 Feb 2018 16:54:55 +0100

Hi George,

Leo added a comment to the services/base.scm code:

;;; FIXME This doesn't work as expected. According to agetty(8), if this option
;;; is not passed, then the default is 'auto'. However, in my tests, when that
;;; option is selected, agetty never presents the login prompt, and the
;;; term-ttyS0 service respawns every few seconds.
                                #$@(if local-line
                                       #~(#$(match local-line
                                              ('auto "--local-line=auto")
                                              ('always "--local-line=always")
                                              ('never "-local-line=never")))
                                       #~())

So try specifying local-line ?

Also, can you try updating again?

I've pushed some agetty consolidation to guix-master (only) today.

Also, you have

 (kernel-arguments '("console=ttyS1,115200"))

AND

(agetty-service (agetty-configuration (tty "ttyS1")
							 (baud-rate "115200")))

.

Starting today, the second one will be automatically configured by %base-services.

I wonder whether we can provide a nice upgrade path for users.

Can be automatically remove duplicates from the service definitions?
Can we warn about duplicates in the final service definition?

Does agetty lock the serial port?
Or does it happily start two gettys?  The latter would be bad.

So please keep your config the same and reconfigure and let's see what happens.

In the long run please remove your agetty-service, it should automatically appear
(it recovers the settings from the "console" kernel-argument).

If it doesn't work you can always return to the previous generation so no worries!