ramips: support dual image feature on ALFA Network boards
authorPiotr Dymacz <pepe2k@gmail.com>
Tue, 29 Oct 2019 22:25:56 +0000 (23:25 +0100)
committerPiotr Dymacz <pepe2k@gmail.com>
Wed, 13 Nov 2019 20:45:31 +0000 (21:45 +0100)
commitbc173ddd8381b03dde8cc2e6c66d0cd392c62bbd
tree97d4cf58f923ed1d08482537227fd61f16a311e8
parentb20b997c680e38f999e4608b158ef08718527ca0
ramips: support dual image feature on ALFA Network boards

New U-Boot version for MediaTek MT76x8/MT762x based ALFA Network boards
includes support for a 'dual image' feature. Users can enable it using
U-Boot environment variable 'dual_image' ('1' -> enabled).

When 'dual image' feature is enabled, U-Boot will modify DTB and divide
the original 'firmware' flash area into two, equal in size and aligned
to 64 KB partitions: 'firmware' and 'backup'. U-Boot will also adjust
size of 'firmware' area to match installed flash chip size.

U-Boot will load kernel from active partition which is marked with env
variable 'bootactive' ('1' -> first partition, '2' -> second partition)
and rename both partitions accordingly ('firmware' <-> 'backup').

There are 3 additional env variables used to control 'dual image' mode:
- bootlimit   - maximum number of unsuccessful boot tries (default: '3')
- bootcount   - current number of boot tries
- bootchanged - flag which informs that active partition was changed; if
                it is set and 'bootcount' reaches 'bootlimit' value,
                U-Boot will start web-based recovery which then updates
                both partitions with provided image

Signed-off-by: Piotr Dymacz <pepe2k@gmail.com>
target/linux/ramips/mt7620/base-files/etc/init.d/bootcount [new file with mode: 0755]
target/linux/ramips/mt7620/base-files/lib/upgrade/platform.sh
target/linux/ramips/mt76x8/base-files/etc/init.d/bootcount
target/linux/ramips/mt76x8/base-files/lib/upgrade/platform.sh