diff --git a/tty3270-on-serial-line-of-s390.patch b/tty3270-on-serial-line-of-s390.patch new file mode 100644 index 0000000..57ae1b2 --- /dev/null +++ b/tty3270-on-serial-line-of-s390.patch @@ -0,0 +1,43 @@ +Support the special terminal on first serial line on a S/390(x) which +is due legacy reasons a block terminal of type 3270 or higher. Whereas +the second serial line on a S/390(x) is a real character terminal which +is compatible with VT220. + +--- + agetty.c | 18 ++++++++++++++++++ + 1 file changed, 18 insertions(+) + +--- term-utils/agetty.c ++++ term-utils/agetty.c 2013-11-29 11:57:11.000000000 +0000 +@@ -49,6 +49,10 @@ + # ifndef DEFAULT_VCTERM + # define DEFAULT_VCTERM "linux" + # endif ++# if defined (__s390__) || defined (__s390x__) ++# define DEFAULT_TTYS0 "ibm327x" ++# define DEFAULT_TTYS1 "vt220" ++# endif + # ifndef DEFAULT_STERM + # define DEFAULT_STERM "vt102" + # endif +@@ -983,6 +987,20 @@ static void open_tty(char *tty, struct t + if (tcgetattr(STDIN_FILENO, tp) < 0) + log_err(_("%s: failed to get terminal attributes: %m"), tty); + ++#if defined (__s390__) || defined (__s390x__) ++ if (!op->term) { ++ /* ++ * Special terminal on first serial line on a S/390(x) which ++ * is due legacy reasons a block terminal of type 3270 or ++ * higher. Whereas the second serial line on a S/390(x) is ++ * a real character terminal which is compatible with VT220. ++ */ ++ if (strcmp(op->tty, "ttyS0") == 0) ++ op->term = DEFAULT_TTYS0; ++ else if (strcmp(op->tty, "ttyS1") == 0) ++ op->term = DEFAULT_TTYS1; ++ } ++#endif + /* + * Detect if this is a virtual console or serial/modem line. + * In case of a virtual console the ioctl TIOCMGET fails and diff --git a/util-linux.changes b/util-linux.changes index fba0b31..739f4ab 100644 --- a/util-linux.changes +++ b/util-linux.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Fri Nov 29 13:46:21 UTC 2013 - werner@suse.de + +- Add patch + tty3270-on-serial-line-of-s390.patch + to better support the first and second serial line on s390/x + ------------------------------------------------------------------- Sun Nov 3 12:53:34 UTC 2013 - schwab@linux-m68k.org diff --git a/util-linux.spec b/util-linux.spec index a8c6d2d..06b1b2c 100644 --- a/util-linux.spec +++ b/util-linux.spec @@ -110,6 +110,8 @@ Patch8: more-guarantee-space-for-multibyte.patch Patch12: util-linux-2.23.1-noenc-suse.diff # PATCH-FIX-UPSTREAM blkdiscard-BLKSSZGET-fills-in-an-int.patch tytso@mit.edu Patch13: blkdiscard-BLKSSZGET-fills-in-an-int.patch +# PATCH-FIX-SUSE -- better support of S390 in agetty +Patch14: tty3270-on-serial-line-of-s390.patch # hack for boot.localfs Patch20: util-linux-HACK-boot.localfs.diff @@ -232,6 +234,7 @@ xzcat %{S:0} | %gpg_verify %{S:12} - %patch8 -p1 %patch12 -p1 %patch13 -p1 +%patch14 -p0 # %patch20 -p1 #