aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuka Perkov <luka@openwrt.org>2015-11-10 00:16:37 +0000
committerLuka Perkov <luka@openwrt.org>2015-11-10 00:16:37 +0000
commitea8ac0999cb78399acf3af6d8eb6fe5b92d06f53 (patch)
treee5f48e5b8ab38ffdbf44a9ed815eecac909774dd
parent6acb552eeeb5f8917dfc4b7fe599fe9136cf2118 (diff)
downloadupstream-ea8ac0999cb78399acf3af6d8eb6fe5b92d06f53.tar.gz
upstream-ea8ac0999cb78399acf3af6d8eb6fe5b92d06f53.tar.bz2
upstream-ea8ac0999cb78399acf3af6d8eb6fe5b92d06f53.zip
kirkwood: support Linksys boot counter on EA[34]500
This is done with existing code from the WRT1900AC port. It makes sure the "auto_recovery" bootloader option is set, and resets the s_env boot counter after a successful boot. This gives users without a serial console connection some measure of safety. Signed-off-by: Claudio Leite <leitec@staticky.com> SVN-Revision: 47433
-rw-r--r--package/system/mtd/src/Makefile1
-rwxr-xr-xtarget/linux/kirkwood/base-files/etc/init.d/linksys_recovery20
2 files changed, 21 insertions, 0 deletions
diff --git a/package/system/mtd/src/Makefile b/package/system/mtd/src/Makefile
index 40a165e4e6..1e02ce94ee 100644
--- a/package/system/mtd/src/Makefile
+++ b/package/system/mtd/src/Makefile
@@ -11,6 +11,7 @@ obj.bcm53xx = $(obj.brcm)
obj.brcm63xx = imagetag.o
obj.ramips = $(obj.seama)
obj.mvebu = linksys_bootcount.o
+obj.kirkwood = linksys_bootcount.o
ifdef FIS_SUPPORT
obj += fis.o
diff --git a/target/linux/kirkwood/base-files/etc/init.d/linksys_recovery b/target/linux/kirkwood/base-files/etc/init.d/linksys_recovery
new file mode 100755
index 0000000000..3f1b7626bb
--- /dev/null
+++ b/target/linux/kirkwood/base-files/etc/init.d/linksys_recovery
@@ -0,0 +1,20 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2015 OpenWrt.org
+
+START=97
+boot() {
+. /lib/functions.sh
+. /lib/kirkwood.sh
+
+case $(kirkwood_board_name) in
+ linksys-audi|linksys-viper)
+ # make sure auto_recovery in uboot is always on
+ AUTO_RECOVERY_ENA="`fw_printenv -n auto_recovery`"
+ if [ "$AUTO_RECOVERY_ENA" != "yes" ] ; then
+ fw_setenv auto_recovery yes
+ fi
+ # reset the boot counter
+ mtd resetbc s_env
+ ;;
+esac
+}