I'm working on a patch to switch from yahoot to grub.
I've encountered one problem. Grub doesn't like '(hd0)' syntax but works with '/dev/sda1'
[anaconda root@(none) /]# cat /mnt/sysimage/boot/grub2/device.map
# this device map was generated by anaconda
(hd0) /dev/sda
[anaconda root@(none) /]# cat /tmp/program.log
...
18:21:28,809 INFO program: Running... grub2-install --no-floppy (hd0,1)
18:21:29,929 ERR program: /sbin/grub2-probe: error: cannot stat `(hd0,1)'.
18:21:29,930 INFO program: The chosen partition is not a PReP partition.
...
[anaconda root@(none) /]# chroot /mnt/sysimage/
[anaconda root@9-5-90-148 /]# grub2-install --no-floppy '(hd0,1)'
/sbin/grub2-probe: error: cannot stat `(hd0,1)'.
The chosen partition is not a PReP partition.
[anaconda root@9-5-90-148 /]# grub2-install --no-floppy '(hd0)'
/sbin/grub2-probe: error: cannot stat `(hd0)'.
The chosen partition is not a PReP partition.
[anaconda root@9-5-90-148 /]# grub2-install --no-floppy /dev/sda1
183+1 records in
183+1 records out
This also needs patch to grub to accept GRUB_TERMINFO. The grub patch is appended to anaconda's.
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;
=== added file 'util/grub.d/20_ppc_terminfo.in'
--- util/grub.d/20_ppc_terminfo.in 1970-01-01 00:00:00 +0000
+++ util/grub.d/20_ppc_terminfo.in 2012-02-24 22:16:36 +0000
@@ -0,0 +1,107 @@
+#! /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=console
+
+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
+ ;;
+ 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
+ echo terminfo -g ${X}x${Y} ${TERMINAL}
+EOF
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@redhat.com
https://www.redhat.com/mailman/listinfo/anaconda-devel-list