diff --git a/Makefile b/Makefile
index c3e1ed77076feec19eeb171a780fa895a5dca6d8..5bd4fb2ca71a3b6d83702d52cf26b64b4c70500b 100644
--- a/Makefile
+++ b/Makefile
@@ -83,9 +83,13 @@ prereq: $(target/stamp-prereq) tmp/.prereq_packages
 		exit 1; \
 	fi
 
+checksum: FORCE
+	$(call sha256sums,$(BIN_DIR))
+
 prepare: .config $(tools/stamp-install) $(toolchain/stamp-install)
 world: prepare $(target/stamp-compile) $(package/stamp-compile) $(package/stamp-install) $(target/stamp-install) FORCE
 	$(_SINGLE)$(SUBMAKE) -r package/index
+	$(_SINGLE)$(SUBMAKE) -r checksum
 
 .PHONY: clean dirclean prereq prepare world package/symlinks package/symlinks-install package/symlinks-clean
 
diff --git a/rules.mk b/rules.mk
index 12a79ba30c21daecd321ed6f23ad26d6d50ddb06..de24778614214ebd62796fcd3cc2de7b68fd7f70 100644
--- a/rules.mk
+++ b/rules.mk
@@ -371,6 +371,13 @@ define file_copy
 	$(CP) $(1) $(2)
 endef
 
+# Calculate sha256sum of any plain file within a given directory
+# $(1) => Input directory
+define sha256sums
+	(cd $(1); find . -maxdepth 1 -type f -not -name 'sha256sums' -printf "%P\n" | sort | \
+		xargs openssl dgst -sha256 | sed -ne 's!^SHA256(\(.*\))= \(.*\)$$!\2 *\1!p' > sha256sums)
+endef
+
 # file extension
 ext=$(word $(words $(subst ., ,$(1))),$(subst ., ,$(1)))
 
diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile
index 44439854d696b4ef2325dbcf2cd88c40a3aae40d..493012ff7205c22b1d2303851de8ed67794c1c30 100644
--- a/target/imagebuilder/files/Makefile
+++ b/target/imagebuilder/files/Makefile
@@ -125,6 +125,7 @@ ifneq ($(USER_FILES),)
 endif
 	$(MAKE) package_postinst
 	$(MAKE) build_image
+	$(MAKE) checksum
 
 package_index: FORCE
 	@echo
@@ -170,6 +171,11 @@ build_image: FORCE
 	$(NO_TRACE_MAKE) -C target/linux/$(BOARD)/image install TARGET_BUILD=1 IB=1 EXTRA_IMAGE_NAME="$(EXTRA_IMAGE_NAME)" \
 		$(if $(USER_PROFILE),PROFILE="$(USER_PROFILE)")
 
+checksum: FORCE
+	@echo
+	@echo Calculating checksums...
+	@$(call sha256sums,$(BIN_DIR))
+
 clean:
 	rm -rf $(TMP_DIR) $(DL_DIR) $(TARGET_DIR) $(BIN_DIR)