linux: add option to explicitly specify the kernel image name
authorWaldemar Brodkorb <wbx@openadk.org>
Fri, 11 Jul 2014 12:49:22 +0000 (14:49 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tue, 15 Jul 2014 20:18:45 +0000 (22:18 +0200)
For example the upcoming qemu-xtensa patch is using this feature,
where the target is called "zImage", but the resulting kernel name
is "Image.elf".

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
linux/Config.in
linux/linux.mk

index 0a13b1397b6a7662979039a95a40be80e96a9e4f..c13b9290a5de4f601dac8353fa90c9bbb0cef192 100644 (file)
@@ -244,6 +244,16 @@ config BR2_LINUX_KERNEL_IMAGE_TARGET_NAME
          Specify the kernel make target to build the kernel that you
          need.
 
+config BR2_LINUX_KERNEL_IMAGE_NAME
+       string "Kernel image name"
+       depends on BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM
+       help
+         The filename of the kernel image, if it is different from the
+         make target (above). Only Xtensa uses a filename different from
+         the make target. Defaults to BR2_LINUX_KERNEL_IMAGE_TARGET_NAME.
+
+         If unsure, leave it empty.
+
 config BR2_LINUX_KERNEL_UIMAGE_LOADADDR
        string "load address (for 3.7+ multi-platform image)"
        depends on BR2_arm || BR2_armeb
index bcd9dc168f6249c466ced8e2a2b1e12d76b31030..928d93dfcfc3d501833838787b1742cef6e0b52c 100644 (file)
@@ -80,7 +80,8 @@ endif
 KERNEL_DTBS = $(addsuffix .dtb,$(KERNEL_DTS_NAME))
 
 ifeq ($(BR2_LINUX_KERNEL_IMAGE_TARGET_CUSTOM),y)
-LINUX_IMAGE_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME))
+LINUX_IMAGE_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_NAME))
+LINUX_TARGET_NAME = $(call qstrip,$(BR2_LINUX_KERNEL_IMAGE_TARGET_NAME))
 else
 ifeq ($(BR2_LINUX_KERNEL_UIMAGE),y)
 LINUX_IMAGE_NAME = uImage
@@ -106,6 +107,9 @@ else ifeq ($(BR2_LINUX_KERNEL_VMLINUZ),y)
 LINUX_IMAGE_NAME = vmlinuz
 endif
 endif
+ifeq ($(LINUX_IMAGE_NAME),)
+LINUX_IMAGE_NAME = $(LINUX_TARGET_NAME)
+endif
 
 LINUX_KERNEL_UIMAGE_LOADADDR=$(call qstrip,$(BR2_LINUX_KERNEL_UIMAGE_LOADADDR))
 ifneq ($(LINUX_KERNEL_UIMAGE_LOADADDR),)
@@ -259,7 +263,7 @@ endif
 define LINUX_BUILD_CMDS
        $(if $(BR2_LINUX_KERNEL_USE_CUSTOM_DTS),
                cp $(BR2_LINUX_KERNEL_CUSTOM_DTS_PATH) $(KERNEL_ARCH_PATH)/boot/dts/)
-       $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_IMAGE_NAME)
+       $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME)
        @if grep -q "CONFIG_MODULES=y" $(@D)/.config; then      \
                $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) modules ;       \
        fi
@@ -332,7 +336,7 @@ endif
 $(LINUX_DIR)/.stamp_initramfs_rebuilt: $(LINUX_DIR)/.stamp_target_installed $(LINUX_DIR)/.stamp_images_installed $(BINARIES_DIR)/rootfs.cpio
        @$(call MESSAGE,"Rebuilding kernel with initramfs")
        # Build the kernel.
-       $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_IMAGE_NAME)
+       $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(LINUX_TARGET_NAME)
        $(LINUX_APPEND_DTB)
        # Copy the kernel image to its final destination
        cp $(LINUX_IMAGE_PATH) $(BINARIES_DIR)