[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

grub-installer support for powerpc on efika/pegasos



This patch adds support for grub-installer to efika/pegasos.  It was known to
work a while ago on my setup, but unfortunately I can't test it right now since
I was using a borrowed hard disk and had to return it.

There's an odd requirement: that user previously makes /boot/grub a mount point
via partman.  This is due to current grub-install design and will need some
effort/discussion to change (start it up on grub-devel if you're up to it).

Some testing would be appreciated, as well as comments on the patch.

Thanks!

-- 
Robert Millan

<GPLv2> I know my rights; I want my phone call!
<DRM> What use is a phone call, if you are unable to speak?
(as seen on /.)
Index: debian/control
===================================================================
--- debian/control	(revision 49098)
+++ debian/control	(working copy)
@@ -7,7 +7,7 @@
 XS-Vcs-Svn: svn://svn.debian.org/d-i/trunk/packages/arch/i386/grub-installer
 
 Package: grub-installer
-Architecture: i386 hurd-i386 amd64 kfreebsd-i386 kfreebsd-amd64
+Architecture: i386 hurd-i386 amd64 kfreebsd-i386 kfreebsd-amd64 powerpc
 Provides: bootable-system
 Depends: cdebconf-udeb, kernel-installer, created-fstab, di-utils (>= 1.15), di-utils-mapdevfs, os-prober, partman-utils
 XB-Installer-Menu-Item: 7300
Index: grub-installer
===================================================================
--- grub-installer	(revision 49098)
+++ grub-installer	(working copy)
@@ -236,6 +236,13 @@
 bootfstype=$(findfstype /boot)
 [ -n "$bootfstype" ] || bootfstype="$(findfstype /)"
 
+case $ARCH in
+    powerpc/*)
+      offs=$(findfs /boot/grub)
+      [ -n "$offs" ] || error "GRUB requires that the OF partition is mounted in /boot/grub" 1>&2
+    ;;
+esac
+
 # This code to set disc_offered was taken from lilo-installer
 rootfs_nodevfs=$(mapdevfs $rootfs)
 bootfs_nodevfs=$(mapdevfs $bootfs)
@@ -305,8 +312,10 @@
 	# reiserfs implementation yet.
 	exit 10
 	;;
-    *:gpt:grub)
-	grub_package="grub-pc"
+    *:gpt:*)
+	if [ "$grub_package" = "grub" ] ; then
+		grub_package="grub-pc"
+	fi
 	;;
     xfs:*:*)
 	# Warn user that grub on xfs is not safe and let them back out to
@@ -526,6 +535,11 @@
 			fi
 		fi
 
+		if [ "$ARCH" = "powerpc/chrp_pegasos" ] ; then
+			# nvram is broken here
+			grub_install_params="$grub_install_params --no-nvram"
+		fi
+
 		if [ "$grub_version" = "grub" ] ; then
 			grub_install_params="$grub_install_params --recheck"
 		fi

Reply to: