[LEDE-DEV] [PATCH v2] build: reintroduce md5 checksums for generated firmware images
John Crispin
john at phrozen.org
Fri Aug 19 20:35:01 PDT 2016
On 18/08/2016 04:16, Stefan Lippers-Hollmann wrote:
> Commit 83175687c81bee594885d0738cfd488673f5a3fb "build: remove image
> specific checksum code" dropped the generation of md5 checksums in
> favour of only shipping sha256 ones.
>
> A default Lede installation however doesn't enable busybox' sha256sum
> applet, which makes confirming the checksum on the device itself (e.g.
> for transmission errors to the device) more difficult than necessary,
> this patch reintroduces the generation of MD5 checksums for all
> firmware images.
>
> Signed-off-by: Stefan Lippers-Hollmann <s.l-h at gmx.de>
> ---
>
> It would be simpler to call md5sum rather than openssl to generate the
> MD5 checksums, but in order to keep the prereqs small, I re-used
> openssl for this task as well, given that it's needed for the SHA256
> checksums already.
>
> This adds roughly 3.6 seconds to the build times for ar71xx (589 files)
>
> v2: make sure to exclude {md5,sha256}sums from checksum files
jow enabled the sha256sum tool in busybox instead
John
>
> Makefile | 1 +
> rules.mk | 9 ++++++++-
> target/imagebuilder/files/Makefile | 1 +
> 3 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/Makefile b/Makefile
> index 59320d4..51a2e38 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -84,6 +84,7 @@ prereq: $(target/stamp-prereq) tmp/.prereq_packages
> fi
>
> checksum: FORCE
> + $(call md5sums,$(BIN_DIR))
> $(call sha256sums,$(BIN_DIR))
>
> prepare: .config $(tools/stamp-install) $(toolchain/stamp-install)
> diff --git a/rules.mk b/rules.mk
> index de24778..a3d296b 100644
> --- a/rules.mk
> +++ b/rules.mk
> @@ -371,10 +371,17 @@ define file_copy
> $(CP) $(1) $(2)
> endef
>
> +# Calculate md5sum of any plain file within a given directory
> +# $(1) => Input directory
> +define md5sums
> + (cd $(1); find . -maxdepth 1 -type f -not -name 'md5sums' -not -name 'sha256sums' -printf "%P\n" | sort | \
> + xargs openssl dgst -md5 | sed -ne 's!^MD5(\(.*\))= \(.*\)$$!\2 *\1!p' > md5sums)
> +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 | \
> + (cd $(1); find . -maxdepth 1 -type f -not -name 'md5sums' -not -name 'sha256sums' -printf "%P\n" | sort | \
> xargs openssl dgst -sha256 | sed -ne 's!^SHA256(\(.*\))= \(.*\)$$!\2 *\1!p' > sha256sums)
> endef
>
> diff --git a/target/imagebuilder/files/Makefile b/target/imagebuilder/files/Makefile
> index 493012f..15c34ed 100644
> --- a/target/imagebuilder/files/Makefile
> +++ b/target/imagebuilder/files/Makefile
> @@ -174,6 +174,7 @@ build_image: FORCE
> checksum: FORCE
> @echo
> @echo Calculating checksums...
> + @$(call md5sums,$(BIN_DIR))
> @$(call sha256sums,$(BIN_DIR))
>
> clean:
>
>
>
> _______________________________________________
> Lede-dev mailing list
> Lede-dev at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/lede-dev
>
More information about the Lede-dev
mailing list