From 9b69ffb3d2e8b3879cbf2783042a1bae60f28897 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Sat, 2 Feb 2013 15:56:32 +0200 Subject: [PATCH] xbmc-addon-settings: initscript to reset OE to defaults --- .../xbmc-addon-settings/init.d/00_reset | 71 +++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 packages/mediacenter/xbmc-addon-settings/init.d/00_reset diff --git a/packages/mediacenter/xbmc-addon-settings/init.d/00_reset b/packages/mediacenter/xbmc-addon-settings/init.d/00_reset new file mode 100644 index 0000000000..4766e0be92 --- /dev/null +++ b/packages/mediacenter/xbmc-addon-settings/init.d/00_reset @@ -0,0 +1,71 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ +# reset openelec +# +# runlevels: openelec, textmode + +get_target() { + for arg in $(cat /proc/cmdline); do + case $arg in + disk=*) + disk="${arg#*=}" + case $disk in + LABEL=*) + label="${disk#*=}" + target=`blkid -L $label` + ;; + UUID=*) + uuid="${disk#*=}" + target=`blkid -U $uuid` + ;; + /*) + target=$disk + ;; + esac + ;; + esac + done +} + +# hard reset +if [ -f /storage/.cache/reset_oe ] ; then + get_target + if [ ! -z $target ] ; then + echo "hard resetting..." + umount /storage + mke2fs -t ext4 -m 0 $target 2>&1 >/dev/null + if [ ! -z $label ] ; then + tune2fs -U random -L $label $target + fi + if [ ! -z $uuid ] ; then + tune2fs -U $uuid $target + fi + reboot + fi +fi + +# soft reset +if [ -f /storage/.cache/reset_xbmc ] ; then + get_target + if [ ! -z $target ] ; then + echo "soft resetting..." + rm -rf /storage/.??* 2>&1 >/dev/null + fi +fi