[LEDE-DEV] [PATCH v2] base-files: ensure reset only works if an overlay exists
Chris Blake
chrisrblake93 at gmail.com
Wed Oct 19 22:37:27 PDT 2016
On Thu, Oct 20, 2016 at 12:29 AM, Rafał Miłecki <zajec5 at gmail.com> wrote:
> On 20 October 2016 at 05:23, Chris Blake <chrisrblake93 at gmail.com> wrote:
>> diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset
>> index c6dc7cf..fab9a6c 100755
>> --- a/package/base-files/files/etc/rc.button/reset
>> +++ b/package/base-files/files/etc/rc.button/reset
>> @@ -11,15 +11,16 @@ timeout)
>> set_state failsafe
>> ;;
>> released)
>> - if [ "$SEEN" -lt 1 ]
>> + OVERLAY="$( grep ' /overlay ' /proc/mounts )"
>> + if [ "$SEEN" -gt 5 -a -n "$OVERLAY" ]
>> + then
>> + echo "FACTORY RESET" > /dev/console
>> + jffs2reset -y && reboot &
>> + elif [ "$SEEN" ]
>> then
>> echo "REBOOT" > /dev/console
>> sync
>> reboot
>> - elif [ "$SEEN" -gt 5 ]
>> - then
>> - echo "FACTORY RESET" > /dev/console
>> - jffs2reset -y && reboot &
>> fi
>> ;;
>> esac
>
> Before:
> if $SEEN < 1 => reboot
> if $SEEN > 5 => factory
>
> After
> if $SEEN > 5 => factory
> else => reboot
>
> Can you see that changed behavior now?
Rafal,
Indeed I do. If you have a better idea for implementation I am all
ears on feedback to resolve this bug.
Regards,
Chris Blake
On Thu, Oct 20, 2016 at 12:29 AM, Rafał Miłecki <zajec5 at gmail.com> wrote:
> On 20 October 2016 at 05:23, Chris Blake <chrisrblake93 at gmail.com> wrote:
>> diff --git a/package/base-files/files/etc/rc.button/reset b/package/base-files/files/etc/rc.button/reset
>> index c6dc7cf..fab9a6c 100755
>> --- a/package/base-files/files/etc/rc.button/reset
>> +++ b/package/base-files/files/etc/rc.button/reset
>> @@ -11,15 +11,16 @@ timeout)
>> set_state failsafe
>> ;;
>> released)
>> - if [ "$SEEN" -lt 1 ]
>> + OVERLAY="$( grep ' /overlay ' /proc/mounts )"
>> + if [ "$SEEN" -gt 5 -a -n "$OVERLAY" ]
>> + then
>> + echo "FACTORY RESET" > /dev/console
>> + jffs2reset -y && reboot &
>> + elif [ "$SEEN" ]
>> then
>> echo "REBOOT" > /dev/console
>> sync
>> reboot
>> - elif [ "$SEEN" -gt 5 ]
>> - then
>> - echo "FACTORY RESET" > /dev/console
>> - jffs2reset -y && reboot &
>> fi
>> ;;
>> esac
>
> Before:
> if $SEEN < 1 => reboot
> if $SEEN > 5 => factory
>
> After
> if $SEEN > 5 => factory
> else => reboot
>
> Can you see that changed behavior now?
More information about the Lede-dev
mailing list