[LEDE-DEV] [PATCH] base-files: ensure reset only works if an overlay exists

Mathias Kresin dev at kresin.me
Wed Oct 19 14:47:21 PDT 2016


19.10.2016 16:54, Chris Blake:
> Currently the reset script will try to run jffs2reset on boards that are
> running a rw ext4 or other rootfs, which will then cause jffs2reset to
> fail and the board to never reboot. This change ensures that jffs2reset
> is only ran if an overlay is mounted.
>
> Signed-off-by: Chris Blake <chrisrblake93 at gmail.com>
> ---
>  package/base-files/files/etc/rc.button/reset | 11 ++++++-----
>  1 file changed, 6 insertions(+), 5 deletions(-)
>
> 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="$(cat /proc/mounts | grep ' /overlay ' 2>/dev/null)"
> +	if [ "$SEEN" -gt 5 -a -n "$OVERLAY" ]
> +	then

Since you are not really interested in the matches, you can use the exit 
code as indicator for found/not found:

if [ "$SEEN" -gt 5 ] && grep -q ' /overlay ' /proc/mounts
then

Not sure if it should be done this way since it might be hard to read.

Mathias



More information about the Lede-dev mailing list