build: add locking around dtc call after running mkits.sh
authorFelix Fietkau <nbd@nbd.name>
Wed, 4 Dec 2024 12:31:24 +0000 (13:31 +0100)
committerFelix Fietkau <nbd@nbd.name>
Wed, 4 Dec 2024 12:33:21 +0000 (13:33 +0100)
mkits.sh creates a root.*.pagesync file with padding, which is global, and
the generated .its files reference it. Since dtc reads this file, it must
not run at the same time as mkits.sh
Fixes generating itb images with broken rootfs.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
include/image-commands.mk

index a627ffc202cc0aabd2ee40a40b583fb303a6797d..2e129e0347d7038a1b9c3c448f5c104d1d8a2b2e 100644 (file)
@@ -391,8 +391,8 @@ define Build/fit
                $(if $(DEVICE_DTS_OVERLAY),$(foreach dtso,$(DEVICE_DTS_OVERLAY), -O $(dtso):$(KERNEL_BUILD_DIR)/image-$(dtso).dtbo)) \
                -c $(if $(DEVICE_DTS_CONFIG),$(DEVICE_DTS_CONFIG),"config-1") \
                -A $(LINUX_KARCH) -v $(LINUX_VERSION), gen-cpio$(if $(TARGET_PER_DEVICE_ROOTFS),.$(ROOTFS_ID/$(DEVICE_NAME))))
-       PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage $(if $(findstring external,$(word 3,$(1))),\
-               -E -B 0x1000 $(if $(findstring static,$(word 3,$(1))),-p 0x1000)) -f $@.its $@.new
+       $(call locked,PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage $(if $(findstring external,$(word 3,$(1))),\
+               -E -B 0x1000 $(if $(findstring static,$(word 3,$(1))),-p 0x1000)) -f $@.its $@.new)
        @mv $@.new $@
 endef