ath79: expand factory.bin support for some Senao Engenius boards
authorMichael Pratt <mcpratt@pm.me>
Mon, 5 Oct 2020 02:54:36 +0000 (22:54 -0400)
committerPetr Štetiar <ynezz@true.cz>
Tue, 22 Dec 2020 18:11:50 +0000 (19:11 +0100)
  Newer EnGenius software that still uses the tar.gz platform
  instead of the custom header requires more checks for upgrading,
  but their script includes a way to skip them...
  the existence of a file in the tar.gz called failsafe.bin

  Their upgrade script has these lines:

  \#pass check when upload with full image file
  [ "${errcode}" -eq "1" ] && [ -f failsafe.bin ] && errcode="0"

  This overrides the script's "errcode" variable
  which can be set if any of the following actions/checks fail:

  - untarring of the upload

  - magic number for kernel: "2705"

  - magic num for rootfs: "7371" or "6873"

  - md5sums for each file in the format
filename:md5

  - existence of a file matching FWINFO*
that it has boardname in the name somewhere (grep)
that the 4th field of separator "-" is at least 3 (version)

  Otherwise we would need to generate md5sums in this strange format
  and touch a file with specific requirements in the name.

  This does not effect boards where the advanced checks do not apply.

Signed-off-by: Michael Pratt <mcpratt@pm.me>
[fixed SoB to match From:]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
target/linux/ath79/image/generic.mk

index 5bb247c58eb1c1cc08f978c2b19715ff154d5757..101c7597b864067eb1233d2cd7ecf06c5e594a2e 100644 (file)
@@ -75,6 +75,7 @@ endef
 define Build/engenius-tar-gz
        -[ -f "$@" ] && \
        mkdir -p $@.tmp && \
+       touch $@.tmp/failsafe.bin && \
        echo '#!/bin/sh' > $@.tmp/before-upgrade.sh && \
        echo ': > /tmp/_sys/sysupgrade.tgz' >> $@.tmp/before-upgrade.sh && \
        $(CP) $(KDIR)/loader-$(DEVICE_NAME).uImage \