From 1a41b88803366fdd8eaf773c4a10e41a0e8947db Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Chavant?= Date: Fri, 7 May 2021 17:58:11 +0200 Subject: [PATCH] build: kernel2minor: work around path length limit MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When building for MikroTik devices the kernel2minor tool will sometimes fail with: Can't get lstat from kernel file!: No such file or directory. This is because kernel2minor expects paths no longer than 250 chars. To work around this the include/image-commands.mk has been modified to copy the kernel to a temporary file (/tmp/tmp.XXXXXXXXXX) before calling kernel2minor. Signed-off-by: François Chavant (cherry picked from commit 5a9608102b3c444d0c963255f9d016a1d5469d5d) --- include/image-commands.mk | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/image-commands.mk b/include/image-commands.mk index 51e745958e..4d54a14ba4 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -240,8 +240,11 @@ define Build/jffs2 endef define Build/kernel2minor - kernel2minor -k $@ -r $@.new $(1) - mv $@.new $@ + $(eval temp_file := $(shell mktemp)) + cp $@ $(temp_file) + kernel2minor -k $(temp_file) -r $(temp_file).new $(1) + mv $(temp_file).new $@ + rm -f $(temp_file) endef define Build/kernel-bin -- 2.30.2