[PATCH] [POWERPC] Fix zImage-dtb.initrd build error
Grant Likely
grant.likely at secretlab.ca
Sat Mar 1 01:33:39 EST 2008
Any comments on this patch? It needs to go in for .25, but I haven't
gotten any Acks on it.
Cheers,
g.
On Thu, Feb 21, 2008 at 11:57 AM, Grant Likely
<grant.likely at secretlab.ca> wrote:
> From: Grant Likely <grant.likely at secretlab.ca>
>
> The pattern substitution rules were failing when used with zImage-dtb
> targets. if zImage-dtb.initrd was selected, the pattern substitution
> would generate "zImage.initrd-dtb" instead of "zImage-dtb.initrd" which
> caused the build to fail.
>
> This patch renames zImage-dtb to dtbImage to avoid the problem entirely.
> By not using the zImage prefix then is no potential for namespace
> collisions.
>
> Signed-off-by: Grant Likely <grant.likely at secretlab.ca>
>
> ---
> Note to reviewers. Please consider this change carefully. I saw two
> options for fixing this bug;
> 1) rework the pattern substitution to handle zImage-dtb correctly
> 2) avoid using the zImage prefix
>
> I chose option 2 because it avoids increasing the complexity of the
> pattern substitution code for generating initrd names. However, doing
> so will have an impact on distributors because it changes the name of
> the generated image. If this is a problem for anyone, or if you have
> a better name suggestion than "dtbImage", then please speak up.
>
> Cheers,
> g.
> ---
>
> arch/powerpc/Makefile | 2 +-
> arch/powerpc/boot/Makefile | 18 ++++++++++--------
> 2 files changed, 11 insertions(+), 9 deletions(-)
>
> diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
> index 1c6ce35..ab5cfe8 100644
> --- a/arch/powerpc/Makefile
> +++ b/arch/powerpc/Makefile
> @@ -155,7 +155,7 @@ all: zImage
>
> CPPFLAGS_vmlinux.lds := -Upowerpc
>
> -BOOT_TARGETS = zImage zImage.initrd uImage treeImage.% cuImage.%
> +BOOT_TARGETS = zImage zImage.initrd uImage zImage% dtbImage% treeImage.% cuImage.%
>
> PHONY += $(BOOT_TARGETS)
>
> diff --git a/arch/powerpc/boot/Makefile b/arch/powerpc/boot/Makefile
> index 63d07cc..d57a67d 100644
> --- a/arch/powerpc/boot/Makefile
> +++ b/arch/powerpc/boot/Makefile
> @@ -186,7 +186,7 @@ quiet_cmd_wrap = WRAP $@
> image-$(CONFIG_PPC_PSERIES) += zImage.pseries
> image-$(CONFIG_PPC_MAPLE) += zImage.pseries
> image-$(CONFIG_PPC_IBM_CELL_BLADE) += zImage.pseries
> -image-$(CONFIG_PPC_PS3) += zImage-dtb.ps3
> +image-$(CONFIG_PPC_PS3) += dtbImage.ps3
> image-$(CONFIG_PPC_CELLEB) += zImage.pseries
> image-$(CONFIG_PPC_CHRP) += zImage.chrp
> image-$(CONFIG_PPC_EFIKA) += zImage.chrp
> @@ -205,7 +205,7 @@ image-$(CONFIG_DEFAULT_UIMAGE) += uImage
> #
>
> # Board ports in arch/powerpc/platform/40x/Kconfig
> -image-$(CONFIG_EP405) += zImage-dtb.ep405
> +image-$(CONFIG_EP405) += dtbImage.ep405
> image-$(CONFIG_WALNUT) += treeImage.walnut
>
> # Board ports in arch/powerpc/platform/44x/Kconfig
> @@ -220,9 +220,9 @@ image-$(CONFIG_WARP) += cuImage.warp
> # Board ports in arch/powerpc/platform/8xx/Kconfig
> image-$(CONFIG_PPC_MPC86XADS) += cuImage.mpc866ads
> image-$(CONFIG_PPC_MPC885ADS) += cuImage.mpc885ads
> -image-$(CONFIG_PPC_EP88XC) += zImage-dtb.ep88xc
> +image-$(CONFIG_PPC_EP88XC) += dtbImage.ep88xc
> image-$(CONFIG_PPC_ADDER875) += cuImage.adder875-uboot \
> - zImage-dtb.adder875-redboot
> + dtbImage.adder875-redboot
>
> # Board ports in arch/powerpc/platform/52xx/Kconfig
> image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 cuImage.lite5200b
> @@ -230,7 +230,7 @@ image-$(CONFIG_PPC_LITE5200) += cuImage.lite5200 cuImage.lite5200b
> # Board ports in arch/powerpc/platform/82xx/Kconfig
> image-$(CONFIG_MPC8272_ADS) += cuImage.mpc8272ads
> image-$(CONFIG_PQ2FADS) += cuImage.pq2fads
> -image-$(CONFIG_EP8248E) += zImage-dtb.ep8248e
> +image-$(CONFIG_EP8248E) += dtbImage.ep8248e
>
> # Board ports in arch/powerpc/platform/83xx/Kconfig
> image-$(CONFIG_MPC832x_MDS) += cuImage.mpc832x_mds
> @@ -268,7 +268,8 @@ endif
>
> initrd- := $(patsubst zImage%, zImage.initrd%, $(image-n) $(image-))
> initrd-y := $(patsubst zImage%, zImage.initrd%, \
> - $(patsubst treeImage%, treeImage.initrd%, $(image-y)))
> + $(patsubst dtbImage%, dtbImage.initrd%, \
> + $(patsubst treeImage%, treeImage.initrd%, $(image-y))))
> initrd-y := $(filter-out $(image-y), $(initrd-y))
> targets += $(image-y) $(initrd-y)
>
> @@ -283,10 +284,11 @@ $(obj)/zImage.initrd.%: vmlinux $(wrapperbits)
> $(obj)/zImage.%: vmlinux $(wrapperbits)
> $(call if_changed,wrap,$*)
>
> -$(obj)/zImage-dtb.initrd.%: vmlinux $(wrapperbits) $(dtstree)/%.dts
> +# dtbImage% - a dtbImage is a zImage with an embedded device tree blob
> +$(obj)/dtbImage.initrd.%: vmlinux $(wrapperbits) $(dtstree)/%.dts
> $(call if_changed,wrap,$*,$(dtstree)/$*.dts,,$(obj)/ramdisk.image.gz)
>
> -$(obj)/zImage-dtb.%: vmlinux $(wrapperbits) $(dtstree)/%.dts
> +$(obj)/dtbImage.%: vmlinux $(wrapperbits) $(dtstree)/%.dts
> $(call if_changed,wrap,$*,$(dtstree)/$*.dts)
>
> # This cannot be in the root of $(src) as the zImage rule always adds a $(obj)
>
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the Linuxppc-dev
mailing list