[PATCH master] ARM: i.MX8M: HABv4: make barebox SHA256 embedding POSIX-shell compatible

Sascha Hauer sha at pengutronix.de
Mon Aug 15 23:34:27 PDT 2022


On Mon, Aug 15, 2022 at 08:38:53AM +0200, Ahmad Fatoum wrote:
> C-Style printf "\xHH" is not supported by a POSIX shell,
> while printf "\oOOO" is. As we use printf "\xHH" for converting the
> textual output of sha256sum into binary, systems using dash as shell
> will end up embedding literal \xHH characters in the output resulting in
> an ubootable barebox when CONFIG_PBL_VERIFY_PIGGY=y:
> 
>   !hash mismatch, refusing to decompress
> 
> Fix this by using octal escape sequences instead.
> 
> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
> ---
>  images/Makefile | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)

Applied, thanks

Sascha

> 
> diff --git a/images/Makefile b/images/Makefile
> index c79f1a272e9c..7a8bb94fe0df 100644
> --- a/images/Makefile
> +++ b/images/Makefile
> @@ -113,7 +113,8 @@ $(obj)/piggy.o: $(obj)/barebox.z FORCE
>  $(obj)/sha_sum.o: $(obj)/barebox.sha.bin FORCE
>  
>  quiet_cmd_sha256bin ?= SHA-BIN $@
> -      cmd_sha256bin ?= printf "$(shell awk '{printf $$1}' < $(obj)/barebox.sum | sed -e 's/../\\x&/g' )" > $@
> +      cmd_sha256bin = printf "$(shell sed 's/ .*$$//;s/../0x&\n/g;s/\n$$//' $(obj)/barebox.sum | \
> +			while read -r byte; do printf '\%o' $$byte; done)" > $@
>  
>  quiet_cmd_sha256sum ?= SHA     $@
>        cmd_sha256sum ?= sha256sum $(obj)/barebox.z > $@
> -- 
> 2.30.2
> 
> 
> 

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list