aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle <daniel@makrotopia.org>2022-04-15 13:25:41 +0100
committerDaniel Golle <daniel@makrotopia.org>2022-04-15 14:12:23 +0100
commit144760d20600a86fbf1974b94f2fcb0830df608e (patch)
tree9ca0c470b8a1ce041e757acad245f3d7d6ebf976
parent3c3d1e2da0c6acf4dd14be322f66343989fbf027 (diff)
downloadupstream-144760d20600a86fbf1974b94f2fcb0830df608e.tar.gz
upstream-144760d20600a86fbf1974b94f2fcb0830df608e.tar.bz2
upstream-144760d20600a86fbf1974b94f2fcb0830df608e.zip
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 <daniel@makrotopia.org> (cherry picked from commit 7a256d97d9ded84d1bfd531e775099774e7b6b06)
-rw-r--r--include/image-commands.mk14
1 files changed, 11 insertions, 3 deletions
diff --git a/include/image-commands.mk b/include/image-commands.mk
index 2d2d53cd65..376553b8d2 100644
--- a/include/image-commands.mk
+++ b/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)" "$@.stripmeta"
+ fwtool -s /dev/null -t "$@.stripmeta" || :
+ fwtool -i /dev/null -t "$@.stripmeta" || :
+ dd if="$@.stripmeta" >> "$@"
+ rm "$@.stripmeta"
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)" "$@.stripmeta"
+ fwtool -s /dev/null -t "$@.stripmeta" || :
+ fwtool -i /dev/null -t "$@.stripmeta" || :
+ dd if="$@.stripmeta" of="$(STAGING_DIR_IMAGE)/$(BOARD)$(if $(SUBTARGET),-$(SUBTARGET))-$(DEVICE_NAME)-$(1)"
+ dd if="$@.stripmeta" >> "$@"
+ rm "$@.stripmeta"
endef
endif