From: Thomas Petazzoni Date: Thu, 2 Apr 2020 21:45:48 +0000 (+0200) Subject: linux: do not install images in subdirectories X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=19be97d497f7139d17deb7a7a5223d20bc4b98d5;p=buildroot.git linux: do not install images in subdirectories The Linux kernel image is typically found in arch/ARCH/boot/, which is why LINUX_IMAGE_PATH is defined as: LINUX_IMAGE_PATH = $(LINUX_ARCH_PATH)/boot/$(LINUX_IMAGE_NAME) However, on MIPS, some kernel image types are available from arch/mips/boot/compressed, or even at the top-level directory. For such cases, LINUX_IMAGE_NAME might be set (using BR2_LINUX_KERNEL_IMAGE_NAME) to values such as: compressed/vmlinux.bin.z or ../../../uzImage.bin Except that the line: $(INSTALL) -m 0644 -D $(LINUX_IMAGE_PATH) $(1)/$(LINUX_IMAGE_NAME) will lead to such images be installed in: $(TARGET_DIR)/boot/compressed/vmlinux.bin.z $(BINARIES_DIR)/compressed/vmlinux.bin.z and: $(TARGET_DIR)/boot/../../../uzImage.bin $(BINARIES_DIR)/../../../uzImage.bin which of course is completely bogus. So let's install them under their name, not their full relative path to arch/ARCH/boot/. Reported-by: Paul Cercueil Cc: Paul Cercueil Signed-off-by: Thomas Petazzoni Signed-off-by: Peter Korsgaard --- diff --git a/linux/linux.mk b/linux/linux.mk index b2ceeecafb..3d9052a337 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -496,7 +496,7 @@ else # Otherwise, just install the unique image generated by the kernel # build process. define LINUX_INSTALL_IMAGE - $(INSTALL) -m 0644 -D $(LINUX_IMAGE_PATH) $(1)/$(LINUX_IMAGE_NAME) + $(INSTALL) -m 0644 -D $(LINUX_IMAGE_PATH) $(1)/$(notdir $(LINUX_IMAGE_NAME)) endef endif