build: kernel2minor: work around path length limit

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 <francois@chavant.info>
This commit is contained in:
François Chavant 2021-05-07 17:58:11 +02:00 committed by Paul Spooren
parent 3a359398f0
commit 5a9608102b

View File

@ -272,8 +272,11 @@ define Build/jffs2
endef endef
define Build/kernel2minor define Build/kernel2minor
kernel2minor -k $@ -r $@.new $(1) $(eval temp_file := $(shell mktemp))
mv $@.new $@ cp $@ $(temp_file)
kernel2minor -k $(temp_file) -r $(temp_file).new $(1)
mv $(temp_file).new $@
rm -f $(temp_file)
endef endef
define Build/kernel-bin define Build/kernel-bin