From: Olaf Hering <olh@suse.de>

make install passes the zImage to the installkernel script.  When an initrd is
used, this script has to pull out the vmlinux from the zImage because yaboot
can not boot a zImage+initrd combo.  It can only handle vmlinux+initrd or
zImage.initrd.  Its simple to just pass the plain vmlinux instead.

Signed-off-by: Olaf Hering <olh@suse.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/ppc64/Makefile        |   12 +++++++++---
 25-akpm/arch/ppc64/boot/Makefile   |    4 ++--
 25-akpm/arch/ppc64/boot/install.sh |    3 ++-
 3 files changed, 13 insertions(+), 6 deletions(-)

diff -puN arch/ppc64/boot/install.sh~use-vmlinux-during-make-install-on-ppc64 arch/ppc64/boot/install.sh
--- 25/arch/ppc64/boot/install.sh~use-vmlinux-during-make-install-on-ppc64	Thu Feb 17 17:25:03 2005
+++ 25-akpm/arch/ppc64/boot/install.sh	Thu Feb 17 17:25:03 2005
@@ -17,6 +17,7 @@
 #   $2 - kernel image file
 #   $3 - kernel map file
 #   $4 - default install path (blank if root directory)
+#   $5 - kernel boot file, the zImage
 #
 
 # User may have a custom install script
@@ -27,7 +28,7 @@ if [ -x /sbin/installkernel ]; then exec
 # Default install
 
 # this should work for both the pSeries zImage and the iSeries vmlinux.sm
-image_name=`basename $2`
+image_name=`basename $5`
 
 if [ -f $4/$image_name ]; then
 	mv $4/$image_name $4/$image_name.old
diff -puN arch/ppc64/boot/Makefile~use-vmlinux-during-make-install-on-ppc64 arch/ppc64/boot/Makefile
--- 25/arch/ppc64/boot/Makefile~use-vmlinux-during-make-install-on-ppc64	Thu Feb 17 17:25:03 2005
+++ 25-akpm/arch/ppc64/boot/Makefile	Thu Feb 17 17:25:03 2005
@@ -111,7 +111,7 @@ $(obj)/imagesize.c: vmlinux.strip
 	awk '{printf "unsigned long vmlinux_memsize = 0x%s;\n", substr($$1,8)}' \
 		>> $(obj)/imagesize.c
 
-install: $(CONFIGURE) $(obj)/$(BOOTIMAGE)
-	sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" "$(obj)/$(BOOTIMAGE)" "$(INSTALL_PATH)"
+install: $(CONFIGURE) $(BOOTIMAGE)
+	sh -x $(srctree)/$(src)/install.sh "$(KERNELRELEASE)" vmlinux System.map "$(INSTALL_PATH)" "$(BOOTIMAGE)"
 
 clean-files := $(addprefix $(objtree)/, $(obj-boot) vmlinux.strip)
diff -puN arch/ppc64/Makefile~use-vmlinux-during-make-install-on-ppc64 arch/ppc64/Makefile
--- 25/arch/ppc64/Makefile~use-vmlinux-during-make-install-on-ppc64	Thu Feb 17 17:25:03 2005
+++ 25-akpm/arch/ppc64/Makefile	Thu Feb 17 17:25:03 2005
@@ -86,14 +86,20 @@ boottarget-$(CONFIG_PPC_ISERIES) := vmli
 $(boottarget-y): vmlinux
 	$(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
 
-bootimage-$(CONFIG_PPC_PSERIES) := zImage
-bootimage-$(CONFIG_PPC_MAPLE) := zImage
+bootimage-$(CONFIG_PPC_PSERIES) := $(boot)/zImage
+bootimage-$(CONFIG_PPC_PMAC) := vmlinux
+bootimage-$(CONFIG_PPC_MAPLE) := $(boot)/zImage
 bootimage-$(CONFIG_PPC_ISERIES) := vmlinux
 BOOTIMAGE := $(bootimage-y)
 install: vmlinux
 	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@
 
-all: $(BOOTIMAGE)
+defaultimage-$(CONFIG_PPC_PSERIES) := zImage
+defaultimage-$(CONFIG_PPC_PMAC) := vmlinux
+defaultimage-$(CONFIG_PPC_MAPLE) := zImage
+defaultimage-$(CONFIG_PPC_ISERIES) := vmlinux
+KBUILD_IMAGE := $(defaultimage-y)
+all: $(KBUILD_IMAGE)
 
 archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
_