[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