#!/bin/sh system_config() { config_get button "$1" button "reset" config_get action "$1" action "pressed" config_get timeout "$1" timeout "5" } config_load system config_foreach system_config restorefactory [ "$BUTTON" = "$button" ] && { [ -f /tmp/run/restorefactory.pid ] && read PID < /tmp/run/restorefactory.pid && kill $PID && rm /tmp/run/restorefactory.pid && logger -p user.info -t "restorefactory" "restore to factory defaults aborted" [ "$ACTION" = "$action" ] && { if [ "$timeout" -gt 0 ] then sleep "$timeout" && firstboot && reboot & echo $! > /tmp/run/restorefactory.pid logger -p user.info -t "restorefactory" "restoring to factory defaults in $timeout seconds" elif [ "$timeout" -eq 0 ] then firstboot && reboot & else logger -p user.info -t "restorefactory" "invalid timeout value ($timeout)" fi } }