xbmc: start init scripts on RUNLEVEL=boot

Signed-off-by: Stephan Raue <stephan@openelec.tv>
This commit is contained in:
Stephan Raue 2011-09-07 23:09:23 +02:00
parent dd1f73885f
commit 2e59361b82
2 changed files with 112 additions and 98 deletions

View File

@ -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
<advancedsettings>
<useddsfanart>true</useddsfanart>
<splash>false</splash>
@ -47,21 +49,21 @@ progress "setup XBMC"
</samba>
</advancedsettings>
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
<sources>
<video>
<default pathversion="1"></default>
@ -90,44 +92,49 @@ EOF
</pictures>
</sources>
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 "<settings>" > $HOME/.xbmc/userdata/guisettings.xml
if [ ! -f $HOME/.xbmc/userdata/guisettings.xml ] ; then
echo "<settings>" > $HOME/.xbmc/userdata/guisettings.xml
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
cat >> $HOME/.xbmc/userdata/guisettings.xml << EOF
<debug>
<screenshotpath pathversion="1">$HOME/screenshots/</screenshotpath>
</debug>
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
<videoscreen>
<vsync>2</vsync>
</videoscreen>
EOF
fi
echo "</settings>" >> $HOME/.xbmc/userdata/guisettings.xml
fi
fi
echo "</settings>" >> $HOME/.xbmc/userdata/guisettings.xml
fi
;;
poweroff|reboot)
;;
esac

View File

@ -22,66 +22,73 @@
#
# 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
# 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 > /dev/null 2>&1
)&
# 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)
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
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