openwrt/target/linux
Michael Pratt d5035f0d26 ath79: add Senao 'failsafe' sysupgrade procedure
Use a similar upgrade method for sysupgrade.bin, like factory.bin,
for Senao boards with the tar.gz OEM upgrade platform,
and 'failsafe' image which is loaded on checksum failure.

This is inspired by the OEM upgrade script /etc/fwupgrade.sh
and the existing platforms for dual-boot Senao boards.

Previously, if the real kernel was damaged or missing
the only way to recover was with UART serial console,
because the OKLI lzma-loader is programmed to halt.

uboot did not detect cases where kernel or rootfs is damaged
and boots OKLI instead of the failsafe image,
because the checksums stored in uboot environment
did not include the real kernel and rootfs space.

Now, the stored checksums include the space for both
the lzma-loader, kernel, and rootfs.
Therefore, these boards are now practically unbrickable.

Also, the factory.bin and sysupgrade.bin are now the same,
except for image metadata.
This allows for flashing OEM image directly from openwrt
as well as flashing openwrt image directly from OEM.

Make 'loader' partition writable so that it can be updated
during a sysupgrade.

tested with
ENS202EXT v1
EAP1200H
EAP350 v1
EAP600
ECB350 v1
ECB600
ENH202 v1

Signed-off-by: Michael Pratt <mcpratt@pm.me>
2021-04-08 09:20:59 +02:00
..
apm821xx kernel: bump 5.10 to 5.10.24 2021-03-24 11:36:31 +00:00
arc770 treewide: remove execute bit and shebang from board.d files 2021-03-06 11:30:06 +01:00
archs38 archs38: Add CONFIG_HZ=100 2021-03-19 18:00:22 +01:00
armvirt armvirt: add 5.10 testing kernel 2021-04-03 18:56:02 +02:00
at91 treewide: make AddDepends/usb-serial selective 2021-03-06 12:38:38 +01:00
ath25 treewide: remove execute bit and shebang from board.d files 2021-03-06 11:30:06 +01:00
ath79 ath79: add Senao 'failsafe' sysupgrade procedure 2021-04-08 09:20:59 +02:00
bcm27xx kernel: bump 5.4 to 5.4.108 2021-03-27 16:39:31 +01:00
bcm47xx bcm47xx: make WGT634U NVRAM patch apply again 2021-03-12 21:09:11 +01:00
bcm53xx bcm53xx: enhance support for Linksys EA9500 2021-04-01 08:58:14 +02:00
bcm63xx kernel: bump 5.10 to 5.10.26 2021-03-26 08:19:11 +00:00
bcm4908 bcm4908: fix Netgear R8000P image 2021-04-07 14:46:46 +02:00
bmips kernel: bump 5.10 to 5.10.27 2021-04-03 21:07:22 +01:00
gemini kernel: Move CONFIG_USERIO to generic config 2021-03-27 14:34:22 +01:00
generic kernel: bump 5.10 to 5.10.27 2021-04-03 21:07:22 +01:00
imx6 kernel: move some disabled symbols to generic 2021-03-19 00:59:22 +01:00
ipq40xx ipq40xx: add MikroTik hAP ac2 support 2021-04-05 04:13:28 +02:00
ipq806x kernel: bump 5.4 to 5.4.109 2021-04-02 16:45:28 +02:00
ipq807x kernel: move some disabled symbols to generic 2021-03-19 00:59:22 +01:00
kirkwood kernel: backport 5.13 mtd partitioning changes 2021-03-29 08:46:17 +02:00
lantiq lantiq: add basic support for AVM FRITZ!Box 3390 2021-04-03 18:56:51 +02:00
layerscape kernel: bump 5.4 to 5.4.109 2021-04-02 16:45:28 +02:00
malta kernel: Move CONFIG_USERIO to generic config 2021-03-27 14:34:22 +01:00
mediatek kernel: bump 5.4 to 5.4.109 2021-04-02 16:45:28 +02:00
mpc85xx treewide: remove execute bit and shebang from board.d files 2021-03-06 11:30:06 +01:00
mvebu kernel: backport 5.13 mtd partitioning changes 2021-03-29 08:46:17 +02:00
mxs treewide: remove execute bit and shebang from board.d files 2021-03-06 11:30:06 +01:00
octeon kernel: move some disabled symbols to generic 2021-03-19 00:59:22 +01:00
octeontx kernel: move some disabled symbols to generic 2021-03-19 00:59:22 +01:00
omap kernel: Move CONFIG_USERIO to generic config 2021-03-27 14:34:22 +01:00
oxnas kernel: Move CONFIG_USERIO to generic config 2021-03-27 14:34:22 +01:00
pistachio kernel: add pending mtd patches adding NVMEM support 2021-03-12 18:49:46 +01:00
ramips kernel: bump 5.10 to 5.10.27 2021-04-03 21:07:22 +01:00
realtek realtek: allow writing to "u-boot-env2" 2021-04-08 09:20:59 +02:00
rockchip kernel: bump 5.10 to 5.10.27 2021-04-03 21:07:22 +01:00
sunxi sunxi: enable wifi module on Pine64 boards 2021-03-29 21:44:34 +02:00
tegra kernel: Move CONFIG_USERIO to generic config 2021-03-27 14:34:22 +01:00
uml target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00
x86 kernel: Move CONFIG_USERIO to generic config 2021-03-27 14:34:22 +01:00
zynq kernel: Move CONFIG_USERIO to generic config 2021-03-27 14:34:22 +01:00
Makefile target: use SPDX license identifiers on Makefiles 2021-02-10 15:47:18 +01:00