[grub2: 9/11] Add support for serial terminal consoles on PPC by Mark Hamzy

Peter Jones pjones at fedoraproject.org
Thu Mar 29 17:46:27 UTC 2012


commit 4d1b645b7d923efd205dbc7b4f220c03b500e5b9
Author: Dan Horák <dan at danny.cz>
Date:   Tue Mar 27 22:34:56 2012 +0200

    Add support for serial terminal consoles on PPC by Mark Hamzy

 grub-1.99-Fix-tests-of-zeroed-partition.patch |    2 +-
 grub-1.99-ppc-terminfo.patch                  |  154 +++++++++++++++++++++++++
 grub2.spec                                    |    6 +-
 3 files changed, 160 insertions(+), 2 deletions(-)
---
diff --git a/grub-1.99-Fix-tests-of-zeroed-partition.patch b/grub-1.99-Fix-tests-of-zeroed-partition.patch
index ad5a770..a57711c 100644
--- a/grub-1.99-Fix-tests-of-zeroed-partition.patch
+++ b/grub-1.99-Fix-tests-of-zeroed-partition.patch
@@ -1,5 +1,5 @@
 From c8f67c2ee40815c075f1d6e5b3d6b504fbe204f5 Mon Sep 17 00:00:00 2001
-From: Fedora Ninjas <pjones at fedoraproject.org>
+From: Mark Hamzy <hamzy at us.ibm.com>
 Date: Sun, 25 Mar 2012 09:22:34 -0500
 Subject: [PATCH] Fix tests of zeroed partition
 
diff --git a/grub-1.99-ppc-terminfo.patch b/grub-1.99-ppc-terminfo.patch
new file mode 100644
index 0000000..2b8c380
--- /dev/null
+++ b/grub-1.99-ppc-terminfo.patch
@@ -0,0 +1,154 @@
+From ad101ca2bd8913b989cc759bf36632c94381fc4e Mon Sep 17 00:00:00 2001
+From: Mark Hamzy <hamzy at us.ibm.com>
+Date: Thu, 1 Mar 2012 21:18:20 -0600
+Subject: [PATCH] Migrate PPC from Yaboot to Grub2
+
+Add configuration support for serial terminal consoles.  This will set the maximum screen size so that text is not overwritten.
+
+---
+ Makefile.util.def              |    7 +++
+ util/grub.d/20_ppc_terminfo.in |  114 ++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 121 insertions(+), 0 deletions(-)
+ create mode 100644 util/grub.d/20_ppc_terminfo.in
+
+diff --git a/Makefile.util.def b/Makefile.util.def
+index 058572f..1993f9b 100644
+--- a/Makefile.util.def
++++ b/Makefile.util.def
+@@ -360,6 +360,13 @@ script = {
+ };
+ 
+ script = {
++  name = '20_ppc_terminfo';
++  common = util/grub.d/20_ppc_terminfo.in;
++  installdir = grubconf;
++  condition = COND_HOST_LINUX;
++};
++
++script = {
+   name = '30_os-prober';
+   common = util/grub.d/30_os-prober.in;
+   installdir = grubconf;
+diff --git a/util/grub.d/20_ppc_terminfo.in b/util/grub.d/20_ppc_terminfo.in
+new file mode 100644
+index 0000000..545ad62
+--- /dev/null
++++ b/util/grub.d/20_ppc_terminfo.in
+@@ -0,0 +1,114 @@
++#! /bin/sh
++set -e
++
++# grub-mkconfig helper script.
++# Copyright (C) 2006,2007,2008,2009,2010  Free Software Foundation, Inc.
++#
++# GRUB is free software: you can redistribute it and/or modify
++# it under the terms of the GNU General Public License as published by
++# the Free Software Foundation, either version 3 of the License, or
++# (at your option) any later version.
++#
++# GRUB is distributed in the hope that it will be useful,
++# but WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++# GNU General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with GRUB.  If not, see <http://www.gnu.org/licenses/>.
++
++prefix=@prefix@
++exec_prefix=@exec_prefix@
++bindir=@bindir@
++libdir=@libdir@
++. ${libdir}/grub/grub-mkconfig_lib
++
++export TEXTDOMAIN=@PACKAGE@
++export TEXTDOMAINDIR=@localedir@
++
++X=80
++Y=24
++TERMINAL=ofconsole
++
++argument () {
++  opt=$1
++  shift
++
++  if test $# -eq 0; then
++      echo "$0: option requires an argument -- '$opt'" 1>&2
++      exit 1
++  fi
++  echo $1
++}
++
++check_terminfo () {
++
++  while test $# -gt 0
++  do
++    option=$1
++    shift
++
++    case "$option" in
++    terminfo | TERMINFO)
++        ;;
++
++    -g)
++        NEWXY=`argument $option "$@"`
++        NEWX=`echo $NEWXY | cut -d x -f 1`
++        NEWY=`echo $NEWXY | cut -d x -f 2`
++
++        if [ ${NEWX} -ge 80 ] ; then
++          X=${NEWX}
++        else
++          echo "Warning: ${NEWX} is less than the minimum size of 80"
++        fi
++
++        if [ ${NEWY} -ge 24 ] ; then
++          Y=${NEWY}
++        else
++          echo "Warning: ${NEWY} is less than the minimum size of 24"
++        fi
++
++        shift
++        ;;
++
++    *)
++#       # accept console or ofconsole
++#       if [ "$option" != "console" -a "$option" != "ofconsole" ] ; then
++#         echo "Error: GRUB_TERMINFO unknown console: $option"
++#         exit 1
++#       fi
++#       # perfer console
++#       TERMINAL=console
++        # accept ofconsole
++        if [ "$option" != "ofconsole" ] ; then
++          echo "Error: GRUB_TERMINFO unknown console: $option"
++          exit 1
++        fi
++        # perfer console
++        TERMINAL=ofconsole
++        ;;
++    esac
++
++  done
++
++}
++
++if ! uname -m | grep -q ppc ; then
++  exit 0
++fi
++
++if [ "x${GRUB_TERMINFO}" != "x" ] ; then
++  F1=`echo ${GRUB_TERMINFO} | cut -d " " -f 1`
++
++  if [ "${F1}" != "terminfo" ] ; then
++    echo "Error: GRUB_TERMINFO is set to \"${GRUB_TERMINFO}\" The first word should be terminfo."
++    exit 1
++  fi
++
++  check_terminfo ${GRUB_TERMINFO}
++fi
++
++cat << EOF
++  terminfo -g ${X}x${Y} ${TERMINAL}
++EOF
+-- 
+1.7.7.6
+
diff --git a/grub2.spec b/grub2.spec
index b3666b5..ce9b48f 100644
--- a/grub2.spec
+++ b/grub2.spec
@@ -22,7 +22,7 @@
 Name:           grub2
 Epoch:          1
 Version:        1.99
-Release:        19%{?dist}.1
+Release:        19%{?dist}.2
 Summary:        Bootloader with support for Linux, Multiboot and more
 
 Group:          System Environment/Base
@@ -39,6 +39,7 @@ Patch2:		grub-1.99-just-say-linux.patch
 Patch3:		grub2-handle-initramfs-on-xen.patch
 Patch9:		grub-1.99-gcc-4.7.0.patch
 Patch10:	grub-1.99-Fix-tests-of-zeroed-partition.patch
+Patch11:	grub-1.99-ppc-terminfo.patch
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -384,6 +385,9 @@ fi
 %attr(0755,root,root)/%{_datarootdir}/grub/
 
 %changelog
+* Tue Mar 27 2012 Dan Horák <dan[at]danny.cz> - 1.99-19.2
+- Add support for serial terminal consoles on PPC by Mark Hamzy
+
 * Sun Mar 25 2012 Dan Horák <dan[at]danny.cz> - 1.99-19.1
 - Use Fix-tests-of-zeroed-partition patch by Mark Hamzy
 


More information about the scm-commits mailing list