[PATCH 1/2] ppc64: zimage build fix
Anton Blanchard
anton at samba.org
Sun Sep 11 13:40:13 EST 2005
Hi Geoff,
> Please consider for inclusion in the post 2.6.13 patches.
I get the following warnings when building current -git with the
defconfig:
home/anton/build/arch/ppc64/Makefile:97: target `zImage' given more than
once in the same rule.
/home/anton/build/arch/ppc64/Makefile:97: target `zImage.initrd' given
more than once in the same rule.
/home/anton/build/arch/ppc64/Makefile:97: target `zImage' given more
than once in the same rule.
/home/anton/build/arch/ppc64/Makefile:97: target `zImage.initrd' given
more than once in the same rule.
Anton
> This patch makes it possible to build ppc64 kernel image files for all
> targeted machines when several CONFIG_PPC_XXX machine type options are
> enabled simultaneously. To accomplish this it introduces two new build
> targets, zImage.rs6k and zImage.initrd.rs6, which will make the proper
> ELF note header needed by pSeries machines. It falls out from these
> changes that compressed zImages for the Powermac G5 can now be built.
> Previously only vmlinux images could be for that machine.
>
> One remaining problem not addressed by this patch is how to specify the
> 'make install' target when several CONFIG_PPC_XXX machine type options are
> enabled simultaneously.
>
> Signed-off-by: Geoff Levand <geoffrey.levand at am.sony.com>
>
>
> Index: linux-2.6.13-rc6.ppc64-makefile/arch/ppc64/Makefile
> ===================================================================
> --- linux-2.6.13-rc6.ppc64-makefile.orig/arch/ppc64/Makefile 2005-08-10 17:30:56.000000000 -0700
> +++ linux-2.6.13-rc6.ppc64-makefile/arch/ppc64/Makefile 2005-08-10 17:34:01.000000000 -0700
> @@ -87,14 +87,15 @@
>
> boot := arch/ppc64/boot
>
> -boottarget-$(CONFIG_PPC_PSERIES) := zImage zImage.initrd
> -boottarget-$(CONFIG_PPC_MAPLE) := zImage zImage.initrd
> -boottarget-$(CONFIG_PPC_ISERIES) := vmlinux.sminitrd vmlinux.initrd vmlinux.sm
> -boottarget-$(CONFIG_PPC_BPA) := zImage zImage.initrd
> -$(boottarget-y): vmlinux
> +boottargets-$(CONFIG_PPC_PSERIES) += zImage.rs6k zImage.initrd.rs6k
> +boottargets-$(CONFIG_PPC_PMAC) += zImage zImage.initrd
> +boottargets-$(CONFIG_PPC_MAPLE) += zImage zImage.initrd
> +boottargets-$(CONFIG_PPC_ISERIES) += vmlinux.sminitrd vmlinux.initrd vmlinux.sm
> +boottargets-$(CONFIG_PPC_BPA) += zImage zImage.initrd
> +$(boottargets-y): vmlinux
> $(Q)$(MAKE) $(build)=$(boot) $(boot)/$@
>
> -bootimage-$(CONFIG_PPC_PSERIES) := $(boot)/zImage
> +bootimage-$(CONFIG_PPC_PSERIES) := $(boot)/zImage.rs6k
> bootimage-$(CONFIG_PPC_PMAC) := vmlinux
> bootimage-$(CONFIG_PPC_MAPLE) := $(boot)/zImage
> bootimage-$(CONFIG_PPC_BPA) := zImage
> @@ -103,7 +104,7 @@
> install: vmlinux
> $(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(BOOTIMAGE) $@
>
> -defaultimage-$(CONFIG_PPC_PSERIES) := zImage
> +defaultimage-$(CONFIG_PPC_PSERIES) := zImage.rs6k
> defaultimage-$(CONFIG_PPC_PMAC) := vmlinux
> defaultimage-$(CONFIG_PPC_MAPLE) := zImage
> defaultimage-$(CONFIG_PPC_ISERIES) := vmlinux
> @@ -122,10 +123,12 @@
> $(call filechk,gen-asm-offsets)
>
> define archhelp
> - echo '* zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
> - echo ' zImage.initrd- Compressed kernel image with initrd attached,'
> - echo ' sourced from arch/$(ARCH)/boot/ramdisk.image.gz'
> - echo ' (arch/$(ARCH)/boot/zImage.initrd)'
> + echo ' zImage - Compressed kernel image (arch/$(ARCH)/boot/zImage)'
> + echo ' zImage.initrd - Compressed kernel image with initrd attached,'
> + echo ' sourced from arch/$(ARCH)/boot/ramdisk.image.gz'
> + echo ' (arch/$(ARCH)/boot/zImage.initrd)'
> + echo ' zImage.rs6k - zImage for pSeries machines'
> + echo ' zImage.initrd.rs6k- zImage with initrd for pSeries machines'
> endef
>
> CLEAN_FILES += include/asm-ppc64/offsets.h
> Index: linux-2.6.13-rc6.ppc64-makefile/arch/ppc64/boot/Makefile
> ===================================================================
> --- linux-2.6.13-rc6.ppc64-makefile.orig/arch/ppc64/boot/Makefile 2005-08-10 17:30:56.000000000 -0700
> +++ linux-2.6.13-rc6.ppc64-makefile/arch/ppc64/boot/Makefile 2005-08-10 17:34:01.000000000 -0700
> @@ -37,6 +37,9 @@
> quiet_cmd_bootas = BOOTAS $@
> cmd_bootas = $(CROSS32CC) -Wp,-MD,$(depfile) $(BOOTAFLAGS) -c -o $@ $<
>
> +quiet_cmd_bootld = BOOTLD $@
> + cmd_bootld = $(CROSS32LD) $(BOOTLFLAGS) -o $@ $(2)
> +
> $(patsubst %.c,%.o, $(filter %.c, $(src-boot))): %.o: %.c
> $(call if_changed_dep,bootcc)
> $(patsubst %.S,%.o, $(filter %.S, $(src-boot))): %.o: %.S
> @@ -75,8 +78,8 @@
> --add-section=.kernel:$(strip $(patsubst $(obj)/kernel-%.o,%, $(1)))=$(patsubst %.o,%.gz, $(1)) \
> --set-section-flags=.kernel:$(strip $(patsubst $(obj)/kernel-%.o,%, $(1)))=$(OBJCOPYFLAGS)
>
> -quiet_cmd_addnote = ADDNOTE $@
> - cmd_addnote = $(CROSS32LD) $(BOOTLFLAGS) -o $@ $(obj-boot) && $(obj)/addnote $@
> +quiet_cmd_addnote = ADDNOTE $@
> + cmd_addnote = $(obj)/addnote $@
>
> $(call gz-sec, $(required)): $(obj)/kernel-%.gz: % FORCE
> $(call if_changed,gzip)
> @@ -92,11 +95,19 @@
> $(call addsection, $@)
>
> $(obj)/zImage: obj-boot += $(call obj-sec, $(required))
> -$(obj)/zImage: $(call obj-sec, $(required)) $(obj-boot) $(obj)/addnote FORCE
> - $(call if_changed,addnote)
> +$(obj)/zImage: $(call obj-sec, $(required)) $(obj-boot) FORCE
> + $(call cmd,bootld,$(obj-boot))
>
> $(obj)/zImage.initrd: obj-boot += $(call obj-sec, $(required) $(initrd))
> -$(obj)/zImage.initrd: $(call obj-sec, $(required) $(initrd)) $(obj-boot) $(obj)/addnote FORCE
> +$(obj)/zImage.initrd: $(call obj-sec, $(required) $(initrd)) $(obj-boot) FORCE
> + $(call cmd,bootld,$(obj-boot))
> +
> +$(obj)/zImage.rs6k: $(obj)/zImage $(obj)/addnote FORCE
> + @cp -f $< $@
> + $(call if_changed,addnote)
> +
> +$(obj)/zImage.initrd.rs6k: $(obj)/zImage.initrd $(obj)/addnote FORCE
> + @cp -f $< $@
> $(call if_changed,addnote)
>
> $(obj)/imagesize.c: vmlinux.strip
>
> _______________________________________________
> Linuxppc64-dev mailing list
> Linuxppc64-dev at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc64-dev
More information about the Linuxppc64-dev
mailing list