[PATCH] use vmlinux during make install on ppc64

Olaf Hering olh at suse.de
Fri Feb 11 08:07:54 EST 2005


 On Wed, Feb 09, Paul Mackerras wrote:

> Olaf Hering writes:
> 
> > 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.
> 
> As a side-effect you seem to have changed the default target on
> pSeries from zImage to vmlinux, which I don't like - I find it useful
> and convenient that just plain "make" makes the zImage, which I can
> then netboot.

use-vmlinux-during-make-install-on-ppc64.patch is in 2.6.11-rc3-mm2, and
it contains another broken version of 'simple make doesnt built zImage'.

Here is another try to fix a simple 'make' and also get 'make install'
right. pseries needs zImage, iseries and pmac just the plain vmlinux
passed to the install.sh script.

http://ozlabs.org/pipermail/linuxppc64-dev/2005-February/003215.html


Sam, can that be done in a simpler way? I guess not.


diff -purNx tags ../linux-2.6.11-rc3.orig/arch/ppc64/Makefile ./arch/ppc64/Makefile
--- ../linux-2.6.11-rc3.orig/arch/ppc64/Makefile	2005-02-03 02:55:14.000000000 +0100
+++ ./arch/ppc64/Makefile	2005-02-10 21:53:13.653196323 +0100
@@ -65,14 +65,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
+DEFAULTIMAGE := $(defaultimage-y)
+all: $(DEFAULTIMAGE)
 
 archclean:
 	$(Q)$(MAKE) $(clean)=$(boot)
diff -purNx tags ../linux-2.6.11-rc3.orig/arch/ppc64/boot/Makefile ./arch/ppc64/boot/Makefile
--- ../linux-2.6.11-rc3.orig/arch/ppc64/boot/Makefile	2005-02-03 02:56:36.000000000 +0100
+++ ./arch/ppc64/boot/Makefile	2005-02-10 20:55:57.097429193 +0100
@@ -117,7 +117,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 -purNx tags ../linux-2.6.11-rc3.orig/arch/ppc64/boot/install.sh ./arch/ppc64/boot/install.sh
--- ../linux-2.6.11-rc3.orig/arch/ppc64/boot/install.sh	2005-02-03 02:57:16.000000000 +0100
+++ ./arch/ppc64/boot/install.sh	2005-02-10 20:55:57.098429038 +0100
@@ -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



More information about the Linuxppc64-dev mailing list