mirror of
https://src.fedoraproject.org/rpms/grub2.git
synced 2024-11-28 15:46:53 +00:00
Add support for serial terminal consoles on PPC by Mark Hamzy
This commit is contained in:
parent
3eacc8828d
commit
4d1b645b7d
3 changed files with 160 additions and 2 deletions
|
@ -1,5 +1,5 @@
|
||||||
From c8f67c2ee40815c075f1d6e5b3d6b504fbe204f5 Mon Sep 17 00:00:00 2001
|
From c8f67c2ee40815c075f1d6e5b3d6b504fbe204f5 Mon Sep 17 00:00:00 2001
|
||||||
From: Fedora Ninjas <pjones@fedoraproject.org>
|
From: Mark Hamzy <hamzy@us.ibm.com>
|
||||||
Date: Sun, 25 Mar 2012 09:22:34 -0500
|
Date: Sun, 25 Mar 2012 09:22:34 -0500
|
||||||
Subject: [PATCH] Fix tests of zeroed partition
|
Subject: [PATCH] Fix tests of zeroed partition
|
||||||
|
|
||||||
|
|
154
grub-1.99-ppc-terminfo.patch
Normal file
154
grub-1.99-ppc-terminfo.patch
Normal file
|
@ -0,0 +1,154 @@
|
||||||
|
From ad101ca2bd8913b989cc759bf36632c94381fc4e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Mark Hamzy <hamzy@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
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
Name: grub2
|
Name: grub2
|
||||||
Epoch: 1
|
Epoch: 1
|
||||||
Version: 1.99
|
Version: 1.99
|
||||||
Release: 19%{?dist}.1
|
Release: 19%{?dist}.2
|
||||||
Summary: Bootloader with support for Linux, Multiboot and more
|
Summary: Bootloader with support for Linux, Multiboot and more
|
||||||
|
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
|
@ -39,6 +39,7 @@ Patch2: grub-1.99-just-say-linux.patch
|
||||||
Patch3: grub2-handle-initramfs-on-xen.patch
|
Patch3: grub2-handle-initramfs-on-xen.patch
|
||||||
Patch9: grub-1.99-gcc-4.7.0.patch
|
Patch9: grub-1.99-gcc-4.7.0.patch
|
||||||
Patch10: grub-1.99-Fix-tests-of-zeroed-partition.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)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
|
@ -384,6 +385,9 @@ fi
|
||||||
%attr(0755,root,root)/%{_datarootdir}/grub/
|
%attr(0755,root,root)/%{_datarootdir}/grub/
|
||||||
|
|
||||||
%changelog
|
%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
|
* 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
|
- Use Fix-tests-of-zeroed-partition patch by Mark Hamzy
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue