diff --git a/packages/mediacenter/xbmc-pvr/init.d/91_setup-addons b/packages/mediacenter/xbmc-pvr/init.d/91_setup-addons
new file mode 100644
index 0000000000..9f22b212cd
--- /dev/null
+++ b/packages/mediacenter/xbmc-pvr/init.d/91_setup-addons
@@ -0,0 +1,44 @@
+################################################################################
+# This file is part of OpenELEC - http://www.openelec.tv
+# Copyright (C) 2009-2011 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, 675 Mass Ave, Cambridge, MA 02139, USA.
+# http://www.gnu.org/copyleft/gpl.html
+################################################################################
+
+#
+# setup XBMC addons
+#
+# runlevels: openelec, textmode
+
+case $RUNLEVEL in
+ boot)
+ progress "setup XBMC addons"
+
+ # hack: add addons to $PATH
+ for i in `find /storage/.xbmc/addons/* -name bin -type d`; do
+ PATH="$PATH:$i"
+ done
+ export PATH
+
+ # hack: make addon-bins executable
+ chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
+
+
diff --git a/packages/mediacenter/xbmc-pvr/init.d/92_setup-xbmc b/packages/mediacenter/xbmc-pvr/init.d/92_setup-xbmc
index 1344840f82..b7a9fcabeb 100644
--- a/packages/mediacenter/xbmc-pvr/init.d/92_setup-xbmc
+++ b/packages/mediacenter/xbmc-pvr/init.d/92_setup-xbmc
@@ -22,21 +22,23 @@
#
# runlevels: openelec
-progress "setup XBMC"
+case $RUNLEVEL in
+ boot)
+ progress "setup XBMC"
-#
-# clean temp dir
-#
- rm -rf $HOME/.xbmc/temp/*
+ #
+ # clean temp dir
+ #
+ rm -rf $HOME/.xbmc/temp/*
-#
-# add some default settings
-#
- mkdir -p $HOME/.xbmc/userdata
+ #
+ # add some default settings
+ #
+ mkdir -p $HOME/.xbmc/userdata
-# use dds fanarts by default
- if [ ! -f $HOME/.xbmc/userdata/advancedsettings.xml ] ; then
- cat > $HOME/.xbmc/userdata/advancedsettings.xml << EOF
+ # use dds fanarts by default
+ if [ ! -f $HOME/.xbmc/userdata/advancedsettings.xml ] ; then
+ cat > $HOME/.xbmc/userdata/advancedsettings.xml << EOF
true
false
@@ -47,21 +49,21 @@ progress "setup XBMC"
EOF
- fi
+ fi
-#
-# setup directories for XBMC sources
-#
+ #
+ # setup directories for XBMC sources
+ #
- [ ! -d "$HOME/music" ] && mkdir -p $HOME/music
- [ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures
- [ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows
- [ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos
+ [ ! -d "$HOME/music" ] && mkdir -p $HOME/music
+ [ ! -d "$HOME/pictures" ] && mkdir -p $HOME/pictures
+ [ ! -d "$HOME/tvshows" ] && mkdir -p $HOME/tvshows
+ [ ! -d "$HOME/videos" ] && mkdir -p $HOME/videos
- mkdir -p $HOME/.xbmc/userdata
+ mkdir -p $HOME/.xbmc/userdata
- if [ ! -f $HOME/.xbmc/userdata/sources.xml ] ; then
- cat > $HOME/.xbmc/userdata/sources.xml << EOF
+ if [ ! -f $HOME/.xbmc/userdata/sources.xml ] ; then
+ cat > $HOME/.xbmc/userdata/sources.xml << EOF
EOF
- fi
+ fi
-#
-# common setup guisettings
-#
+ #
+ # common setup guisettings
+ #
- mkdir -p $HOME/.xbmc/userdata
+ mkdir -p $HOME/.xbmc/userdata
- [ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots
+ [ ! -d "$HOME/screenshots" ] && mkdir -p $HOME/screenshots
- if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
- echo "" > $HOME/.xbmc/userdata/guisettings.xml
+ if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
+ echo "" > $HOME/.xbmc/userdata/guisettings.xml
- cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
+ cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
$HOME/screenshots/
EOF
-#
-# include project specific options
-#
+ #
+ # include project specific options
+ #
- if [ -f /usr/share/xbmc/config/guisettings.xml ]; then
- cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml
- fi
+ if [ -f /usr/share/xbmc/config/guisettings.xml ]; then
+ cat /usr/share/xbmc/config/guisettings.xml >> $HOME/.xbmc/userdata/guisettings.xml
+ fi
-#
-# common setup for amd and nvidia graphic
-#
+ #
+ # common setup for amd and nvidia graphic
+ #
- # Always sync to vblank
- if [ "$GPUTYPE" = "NVIDIA" -o "$GPUTYPE" = "AMD" ] ; then
- cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
+ # Always sync to vblank
+ if [ "$GPUTYPE" = "NVIDIA" -o "$GPUTYPE" = "AMD" ] ; then
+ cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
2
EOF
- fi
- echo "" >> $HOME/.xbmc/userdata/guisettings.xml
- fi
+ fi
+ echo "" >> $HOME/.xbmc/userdata/guisettings.xml
+ fi
+ ;;
+
+ poweroff|reboot)
+ ;;
+esac
diff --git a/packages/mediacenter/xbmc-pvr/init.d/93_xbmc b/packages/mediacenter/xbmc-pvr/init.d/93_xbmc
index 49f1162175..1db77b91b2 100644
--- a/packages/mediacenter/xbmc-pvr/init.d/93_xbmc
+++ b/packages/mediacenter/xbmc-pvr/init.d/93_xbmc
@@ -22,66 +22,70 @@
#
# runlevels: openelec
-LIRCDEV="/var/run/lirc/lircd"
-[ -e /var/run/lirc/lircd.irtrans ] && LIRCDEV="/var/run/lirc/lircd.irtrans"
-XBMC_ARGS="--standalone -fs --lircdev $LIRCDEV"
+case $RUNLEVEL in
+ boot)
+ LIRCDEV="/var/run/lirc/lircd"
+ [ -e /var/run/lirc/lircd.irtrans ] && LIRCDEV="/var/run/lirc/lircd.irtrans"
+ XBMC_ARGS="--standalone -fs --lircdev $LIRCDEV"
-progress "starting XBMC"
+ progress "starting XBMC"
-# hack for Boxee Remote
-if $(cat /proc/bus/input/devices | grep Vendor=0471 | grep -q Product=20d9);then
- export SDL_MOUSE_RELATIVE=0
-fi
+ # hack for Boxee Remote
+ if $(cat /proc/bus/input/devices | grep Vendor=0471 | grep -q Product=20d9);then
+ export SDL_MOUSE_RELATIVE=0
+ fi
-# hack: make addon-bins executable
- chmod +x /storage/.xbmc/addons/*/bin/* > /dev/null 2>&1
+ # starting autostart script (will be removed later again, dont use it!!!)
+ AUTOSTART="/storage/.config/autostart.sh"
+ if [ -f $AUTOSTART ]; then
+ echo "!!! AUTOSTART script detected !!!" >> /var/log/messages
+ cat "$AUTOSTART" >> /var/log/messages
+ echo "!!! -End of autostart script- !!!" >> /var/log/messages
-# starting autostart script (will be removed later again, dont use it!!!)
- AUTOSTART="/storage/.config/autostart.sh"
- if [ -f $AUTOSTART ]; then
- echo "!!! AUTOSTART script detected !!!" >> /var/log/messages
- cat "$AUTOSTART" >> /var/log/messages
- echo "!!! -End of autostart script- !!!" >> /var/log/messages
+ sh $AUTOSTART
+ fi
- sh $AUTOSTART
- fi
+ # starting autoupdate
+ [ -f /usr/bin/autoupdate ] && /usr/bin/autoupdate &
-# starting autoupdate
- [ -f /usr/bin/autoupdate ] && /usr/bin/autoupdate &
+ # waiting for Xorg to start
+ wait_for_xorg
-# waiting for Xorg to start
- wait_for_xorg
+ # set cpu's to 'on demand'
+ ( usleep 15000000
+ progress "set cpu's to 'on demand'"
+ cpupower frequency-set -g ondemand > /dev/null 2>&1
+ )&
-# set cpu's to 'on demand'
- ( usleep 15000000
- progress "set cpu's to 'on demand'"
- cpupower frequency-set -g ondemand
- )&
+ # starting XBMC
+ while true; do
-# starting XBMC
- while true; do
+ DISPLAY=:0.0 /usr/lib/xbmc/xbmc.bin $XBMC_ARGS > /dev/null 2>&1
+ RET=$?
- DISPLAY=:0.0 /usr/lib/xbmc/xbmc.bin $XBMC_ARGS > /dev/null 2>&1
- RET=$?
+ case "$RET" in
+ 0)
+ RUNLEVEL="poweroff"
+ ;;
+ 64)
+ RUNLEVEL="poweroff"
+ ;;
+ 66)
+ RUNLEVEL="reboot"
+ ;;
+ 255)
+ echo "Abnormal Exit. Exited with code $RET"
+ echo "is Xorg running? check /var/log/Xorg.log"
+ ;;
+ *)
+ echo "Abnormal Exit. Exited with code $RET"
+ ;;
+ esac
- case "$RET" in
- 0)
- poweroff -f
- ;;
- 64)
- poweroff -f
- ;;
- 66)
- reboot
- ;;
- 255)
- echo "Abnormal Exit. Exited with code $RET"
- echo "is Xorg running? check /var/log/Xorg.log"
- ;;
- *)
- echo "Abnormal Exit. Exited with code $RET"
- ;;
- esac
+ usleep 250000
+ done
+ ;;
- usleep 250000
- done
+ poweroff|reboot)
+ ;;
+esac