summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Hicks <mort@bork.org>2011-03-21 13:39:43 -0400
committerPeter Korsgaard <jacmet@sunsite.dk>2011-04-01 14:53:46 +0200
commite2ed6c8e77fb810915a0f45d5f711d678469511f (patch)
treef7e71f609e676a61504b78cec0c940f4677456c5
parent06002a58b53e27da33b2e32697e07058b5f3b9b8 (diff)
linux: Add support to specify special Kernel Image make target
This is useful for ARCHes like PowerPC that have a whole lot of special targets for each different board. The kernel image target tells make which OpenFirmware machine description file is combined into the kernel binary. [Peter: fix long lines] Signed-Off-By: Martin Hicks <mort@bork.org> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rw-r--r--linux/Config.in18
-rw-r--r--linux/linux.mk4
2 files changed, 22 insertions, 0 deletions
diff --git a/linux/Config.in b/linux/Config.in
index 75e574f45..f7d7f88ec 100644
--- a/linux/Config.in
+++ b/linux/Config.in
@@ -133,8 +133,26 @@ config BR2_LINUX_KERNEL_VMLINUX
bool "vmlinux"
depends on BR2_mips || BR2_mipsel
+config BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
+ bool "custom target"
+ help
+ For certain cases a board-specific target image must be
+ used. For example, on powerPC where the OpenFirmware
+ description is attached in a board-specific kernel image
+ target like 'cuImage.mpc8379_rdb'.
+
+ Select this option and specify the make target in "Kernel
+ image target name".
+
endchoice
+config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
+ string "Kernel image target name"
+ depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
+ help
+ Specify the kernel make target to build the kernel that you
+ need.
+
endif # BR2_LINUX_KERNEL
endmenu
diff --git a/linux/linux.mk b/linux/linux.mk
index 9076fb917..90dc1dcb9 100644
--- a/linux/linux.mk
+++ b/linux/linux.mk
@@ -30,6 +30,9 @@ LINUX26_MAKE_FLAGS = \
# going to be installed in the target filesystem.
LINUX26_VERSION_PROBED = $(shell $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) --no-print-directory -s kernelrelease)
+ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y)
+LINUX26_IMAGE_NAME=$(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME))
+else
ifeq ($(BR2_LINUX_KERNEL_UIMAGE),y)
ifeq ($(KERNEL_ARCH),blackfin)
# a uImage, but with a different file name
@@ -47,6 +50,7 @@ LINUX26_IMAGE_NAME=vmlinux.bin
else ifeq ($(BR2_LINUX_KERNEL_VMLINUX),y)
LINUX26_IMAGE_NAME=vmlinux
endif
+endif
# Compute the arch path, since i386 and x86_64 are in arch/x86 and not
# in arch/$(KERNEL_ARCH). Even if the kernel creates symbolic links