[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#30464] [PATCH 1/2] services: Add console-agetty-service.
From: |
Danny Milosavljevic |
Subject: |
[bug#30464] [PATCH 1/2] services: Add console-agetty-service. |
Date: |
Thu, 15 Feb 2018 12:47:41 +0100 |
* gnu/services/base.scm (<agetty-configuration>): Make tty default to #f.
(console-agetty-shepherd-service): New variable.
(console-agetty-service-type): New variable.
(console-agetty-service): New variable.
(%base-services): Replace agetty-service instance by console-agetty-service
instance.
---
gnu/services/base.scm | 35 ++++++++++++++++++++++++++++++-----
1 file changed, 30 insertions(+), 5 deletions(-)
diff --git a/gnu/services/base.scm b/gnu/services/base.scm
index 1ad7c2320..29ae5fca3 100644
--- a/gnu/services/base.scm
+++ b/gnu/services/base.scm
@@ -817,7 +817,8 @@ the message of the day, among other things."
agetty-configuration?
(agetty agetty-configuration-agetty ;<package>
(default util-linux))
- (tty agetty-configuration-tty) ;string | #f
+ (tty agetty-configuration-tty ;string | #f
+ (default #f))
(term agetty-term ;string | #f
(default #f))
(baud-rate agetty-baud-rate ;string | #f
@@ -1072,6 +1073,31 @@ program.")))
the tty to run, among other things."
(service agetty-service-type config))
+(define console-agetty-shepherd-service
+ (lambda (config)
+ (let ((base-service
+ (car
+ (agetty-shepherd-service
+ (agetty-configuration (inherit config)
+ (keep-baud? #t))))))
+ (list
+ (shepherd-service (inherit base-service)
+ ;; Make sure that Linux doesn't log to the same console as well.
+ (requirement (cons 'syslogd (shepherd-service-requirement
base-service))))))))
+
+(define console-agetty-service-type
+ (service-type (name 'console-agetty)
+ (extensions (list (service-extension shepherd-root-service-type
+
console-agetty-shepherd-service)))
+ (description
+ "Provide console login using the @command{agetty}
+program on the Linux console.")))
+
+(define* (console-agetty-service config)
+ "Return a service to run agetty according to @var{config}, which specifies
+the tty to run, defaulting to the Linux console."
+ (service console-agetty-service-type config))
+
(define-record-type* <mingetty-configuration>
mingetty-configuration make-mingetty-configuration
mingetty-configuration?
@@ -2053,10 +2079,9 @@ This service is not part of @var{%base-services}."
(cons tty %default-console-font))
'("tty1" "tty2" "tty3" "tty4" "tty5" "tty6")))
- (agetty-service (agetty-configuration
- (extra-options '("-L")) ; no carrier detect
- (term "vt100")
- (tty #f))) ; automatic
+ (console-agetty-service (agetty-configuration
+ (extra-options '("-L")) ; no carrier detect
+ (term "vt100")))
(mingetty-service (mingetty-configuration
(tty "tty1")))
- [bug#30464] [PATCH 0/2] Add console-agetty-service., Danny Milosavljevic, 2018/02/15
- [bug#30464] [PATCH 1/2] services: Add console-agetty-service.,
Danny Milosavljevic <=
- [bug#30464] [PATCH 2/2] services: agetty-shepherd-service: Default to providing 'term-console instead of 'term-auto ., Danny Milosavljevic, 2018/02/15
- [bug#30464] [PATCH 1/2] services: Add console-agetty-service., Ludovic Courtès, 2018/02/15
- [bug#30464] [PATCH 1/2] services: Add console-agetty-service., Danny Milosavljevic, 2018/02/15
- [bug#30464] [PATCH 1/2] services: Add console-agetty-service., Ludovic Courtès, 2018/02/15
- [bug#30464] shepherd logging; console-agetty-service, Danny Milosavljevic, 2018/02/16
- [bug#30464] shepherd logging, Danny Milosavljevic, 2018/02/16
- [bug#30464] shepherd logging, Ludovic Courtès, 2018/02/17
- [bug#30464] shepherd logging, Danny Milosavljevic, 2018/02/17
- [bug#30464] shepherd logging, Ludovic Courtès, 2018/02/17
- [bug#30464] shepherd logging; console-agetty-service, Ludovic Courtès, 2018/02/17