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) _