[PATCH/RFC] [POWERPC] Allow multiple images to be built when CONFIG_DEFAULT_UIMAGE set

Grant Likely grant.likely at secretlab.ca
Sat Jan 19 14:55:40 EST 2008

From: Grant Likely <grant.likely at secretlab.ca>

Most of the embedded board ports select CONFIG_DEFAULT_UIMAGE so that
uImage files get built by default.  However, the current code casues
the arch/powerpc/boot/Makefile to be called with the 'uImage' target
and adds 'uImage' to the 'image-y' make variable.  If CONFIG_DEFAULT_UIMAGE
is not set, then the boot makefile is called with target 'zImage'.

However, the zImage target already automatically causes all targets
listed in 'image-y' to be built, which includes uImage.

This patch makes the default build target alwasy call the boot makefile
using the 'zImage' target, regardless of if CONFIG_DEFAULT_UIMAGE is set.
Making this change allows multiple boot images to be built from a single
kernel compile.  An example of where this is useful is with the Efika
and lite5200 boards.  Both boards can use the same kernel image (vmlinux),
but they use different boot image files (zImage.chrp vs. uImage).  By
making this change, the boot makefile now builds both by default so a
single defconfig can be used for testing both platforms.

This patch also eliminates the BOOTIMAGE variable because it doesn't
appear to be used anywhere.  (Someone please correct me if I'm wrong)

Signed-off-by: Grant Likely <grant.likely at secretlab.ca>

 arch/powerpc/Makefile |    7 ++-----
 1 files changed, 2 insertions(+), 5 deletions(-)

diff --git a/arch/powerpc/Makefile b/arch/powerpc/Makefile
index f70df9b..6451c2f 100644
--- a/arch/powerpc/Makefile
+++ b/arch/powerpc/Makefile
@@ -151,10 +151,7 @@ core-$(CONFIG_XMON)		+= arch/powerpc/xmon/
 drivers-$(CONFIG_OPROFILE)	+= arch/powerpc/oprofile/
 # Default to zImage, override when needed
-defaultimage-y			:= zImage
-defaultimage-$(CONFIG_DEFAULT_UIMAGE) := uImage
-KBUILD_IMAGE := $(defaultimage-y)
+all: zImage
 CPPFLAGS_vmlinux.lds	:= -Upowerpc
@@ -180,7 +177,7 @@ define archhelp
 install: vdso_install
-	$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) install
+	$(Q)$(MAKE) $(build)=$(boot) install
 ifeq ($(CONFIG_PPC64),y)

More information about the Linuxppc-dev mailing list