[PATCH] use vmlinux during make install on ppc64

Olaf Hering olh at suse.de
Wed Feb 9 22:00:38 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.

You are right, the arch/ppc64/Makefile part is wrong.

Milton pointed out that zImage may be prefered for netboot.
So the question is, who uses make install for that. This zImage is now $5

Furthermore, the $3 was incorrect.

iseries did not work either, because there is no arch/ppc64/boot/vmlinux target.
make[2]: *** No rule to make target `arch/ppc64/boot/vmlinux', needed by `install'.  Stop.
make[1]: *** [install] Error 2


Signed-off-by: Olaf Hering <olh at suse.de>

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-09 11:53:12.724975475 +0100
@@ -65,8 +65,8 @@ 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_MAPLE) := $(boot)/zImage
 bootimage-$(CONFIG_PPC_ISERIES) := vmlinux
 BOOTIMAGE := $(bootimage-y)
 install: vmlinux
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-09 11:52:18.210092397 +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-09 11:45:01.528918590 +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