瀏覽代碼

image: strip metadata from images when used in other artifacts

Image metadata and signature is of no use for images which are included
inside other artifacts (like an SD-card image). Strip them off before
using images in artifacts or stashing them for the ImageBuilder as the
contained signature breaks reproducibility.

Signed-off-by: Daniel Golle <[email protected]>
Daniel Golle 3 年之前
父節點
當前提交
7a256d97d9
共有 1 個文件被更改,包括 11 次插入3 次删除
  1. 11 3
      include/image-commands.mk

+ 11 - 3
include/image-commands.mk

@@ -37,7 +37,11 @@ define Build/package-kernel-ubifs
 endef
 
 define Build/append-image
-	dd if=$(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1) >> $@
+	cp "$(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)" "[email protected]"
+	fwtool -s /dev/null -t "[email protected]" || :
+	fwtool -i /dev/null -t "[email protected]" || :
+	dd if="[email protected]" >> "$@"
+	rm "[email protected]"
 endef
 
 ifdef IB
@@ -46,8 +50,12 @@ define Build/append-image-stage
 endef
 else
 define Build/append-image-stage
-	dd if=$(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1) of=$(STAGING_DIR_IMAGE)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-$(DEVICE_NAME)-$(1)
-	dd if=$(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1) >> $@
+	cp "$(BIN_DIR)/$(DEVICE_IMG_PREFIX)-$(1)" "[email protected]"
+	fwtool -s /dev/null -t "[email protected]" || :
+	fwtool -i /dev/null -t "[email protected]" || :
+	dd if="[email protected]" of="$(STAGING_DIR_IMAGE)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-$(DEVICE_NAME)-$(1)"
+	dd if="[email protected]" >> "$@"
+	rm "[email protected]"
 endef
 endif