Why is it ppc-specific?

Le lun. 30 sept. 2024, 20:49, Leo Sandoval <lsand...@redhat.com> a écrit :

> From: Mark Hamzy <ha...@us.ibm.com>
>
> Add configuration support for serial terminal consoles.  This will set
> the maximum screen size so that text is not overwritten.
>
> Signed-off-by: Mark Hamzy <ha...@us.ibm.com>
> Signed-off-by: Robbie Harwood <rharw...@redhat.com>
> ---
>  Makefile.util.def              |   7 ++
>  util/grub.d/20_ppc_terminfo.in | 114 +++++++++++++++++++++++++++++++++
>  2 files changed, 121 insertions(+)
>  create mode 100644 util/grub.d/20_ppc_terminfo.in
>
> diff --git a/Makefile.util.def b/Makefile.util.def
> index 9432365a9..09bfcadd9 100644
> --- a/Makefile.util.def
> +++ b/Makefile.util.def
> @@ -517,6 +517,13 @@ script = {
>    installdir = grubconf;
>  };
>
> +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;
> diff --git a/util/grub.d/20_ppc_terminfo.in b/util/grub.d/
> 20_ppc_terminfo.in
> new file mode 100644
> index 000000000..10d665868
> --- /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@
> +. "@datadir@/@PACKAGE@/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
> --
> 2.46.1
>
>
> _______________________________________________
> Grub-devel mailing list
> Grub-devel@gnu.org
> https://lists.gnu.org/mailman/listinfo/grub-devel
>
_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to