[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