9fc0f6
From d87f3874bac62d012ff5e573c2b803b3244a02da Mon Sep 17 00:00:00 2001
9fc0f6
From: Hendrik Brueckner <brueckner@redhat.com>
9fc0f6
Date: Fri, 31 Jan 2014 17:08:37 +0100
9fc0f6
Subject: [PATCH] s390/getty-generator: initialize essential system
9fc0f6
 terminals/consoles
9fc0f6
9fc0f6
Ensure to start getty programs on all essential system consoles on Linux on
9fc0f6
System z.  Add these essential devices to the list of virtualization_consoles
9fc0f6
to always generate getty configurations.
9fc0f6
9fc0f6
For the sake of completion, the list of essential consoles is:
9fc0f6
9fc0f6
  /dev/sclp_line0 - Operating system messages applet (LPAR)
9fc0f6
  /dev/ttysclp0 - Integrated ASCII console applet (z/VM and LPAR)
9fc0f6
  /dev/ttyS0 - Already handled by systemd (3215 console on z/VM)
9fc0f6
  /dev/hvc0  - Already handled by systemd (IUCV HVC terminal on z/VM)
9fc0f6
9fc0f6
Depending on the environment, z/VM or LPAR, only a subset of these terminals
9fc0f6
are available.
9fc0f6
9fc0f6
See also RH BZ 860158[1] "Cannot login via Operating System Console into RHEL7
9fc0f6
instance installed on a LPAR".  This bugzilla actually blocks the installation
9fc0f6
of Linux on System z instances in LPAR mode.
9fc0f6
9fc0f6
[1] https://bugzilla.redhat.com/show_bug.cgi?id=860158
9fc0f6
---
9fc0f6
 rules/99-systemd.rules.in             | 2 +-
9fc0f6
 src/getty-generator/getty-generator.c | 4 +++-
9fc0f6
 2 files changed, 4 insertions(+), 2 deletions(-)
9fc0f6
9fc0f6
diff --git a/rules/99-systemd.rules.in b/rules/99-systemd.rules.in
9fc0f6
index 307f18f..0e0a567 100644
9fc0f6
--- a/rules/99-systemd.rules.in
9fc0f6
+++ b/rules/99-systemd.rules.in
9fc0f6
@@ -7,7 +7,7 @@
9fc0f6
 
9fc0f6
 ACTION=="remove", GOTO="systemd_end"
9fc0f6
 
9fc0f6
-SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*", TAG+="systemd"
9fc0f6
+SUBSYSTEM=="tty", KERNEL=="tty[a-zA-Z]*|hvc*|xvc*|hvsi*|ttysclp*|sclp_line*", TAG+="systemd"
9fc0f6
 
9fc0f6
 KERNEL=="vport*", TAG+="systemd"
9fc0f6
 
9fc0f6
diff --git a/src/getty-generator/getty-generator.c b/src/getty-generator/getty-generator.c
9fc0f6
index 6c93806..40374b5 100644
9fc0f6
--- a/src/getty-generator/getty-generator.c
9fc0f6
+++ b/src/getty-generator/getty-generator.c
9fc0f6
@@ -91,7 +91,9 @@ int main(int argc, char *argv[]) {
9fc0f6
         static const char virtualization_consoles[] =
9fc0f6
                 "hvc0\0"
9fc0f6
                 "xvc0\0"
9fc0f6
-                "hvsi0\0";
9fc0f6
+                "hvsi0\0"
9fc0f6
+                "sclp_line0\0"
9fc0f6
+                "ttysclp0\0";
9fc0f6
 
9fc0f6
         int r = EXIT_SUCCESS;
9fc0f6
         char *active;