[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