On Mon, 2022-08-15 at 08:38 +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@xxxxxxxxxxxxxx> Reviewed-by: Rouven Czerwinski <r.czerwinski@xxxxxxxxxxxxxx> > --- > images/Makefile | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > 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 > $@ Best regards, Rouven