JustPaste.it

#!/bin/sh
#Version 150923.1

echo "Spark Tvheadend"

MODDIR=/lib/modules

echo "Init frontpanel"
insmod $MODDIR/aotom.ko paramDebug=0

if [ -e /var/etc/.firstboot ]; then
echo "Wait 1 min." > /dev/vfd
echo "WAIT 1 min"
rm /var/etc/.firstboot
sleep 1
touch /dev/.devfsd
else
echo "Load 10" > /dev/vfd
echo "Start (LOAD 10)"

/etc/init.d/mountvirtfs start
/etc/init.d/portmap start

insmod $MODDIR/e2_proc.ko

#if [ -e "$MODDIR/cpu_frequ.ko" ]; then
# insmod $MODDIR/cpu_frequ.ko
# cpufreq=`cat /etc/enigma2/settings | grep systemoptions.freq | cut -d "=" -f2`
# case $cpufreq in
# 200) overclk=5123;;
# 300) overclk=2561;;
# 450) overclk=3841;;
# 500) overclk=12803;;
# 540) overclk=4609;;
# 600) overclk=5121;;
# 630) overclk=5377;;
# 650) overclk=16643;;
# 700) overclk=17923;;
# 710) overclk=18179;;
# 750) overclk=19203;;
# 775) overclk=39686;;
# 800) overclk=20483;;
# *) cpufreq=540
# overclk=4609;;
# esac
# echo $overclk > /proc/cpu_frequ/pll0_ndiv_mdiv
# echo "Setting CPU clock speed to $cpufreq MHz (overclk=$overclk)"
#fi

echo "Starting DEBUG Interface"
/etc/init.d/mountall start
/etc/init.d/hostname start

echo "Init stmfb (LOAD 9)"
echo "Load 9" > /dev/vfd
insmod $MODDIR/stmcore-display-sti7111.ko
insmod $MODDIR/stmfb.ko display0=1280x720-32@50:12m:pal:yuv:yuv

echo "Loading modules"

if [ ! -e /lib/firmware/audio.elf ] || [ ! -e /lib/firmware/video.elf ]; then
echo "FIRMWARE MISSING!"
echo "FW MISSING!" > /dev/vfd
fi

echo "Load audio firmware (LOAD 8)"
echo "Load 8" > /dev/vfd
if [ -e /lib/firmware/audio_dts.elf ]; then
/bin/ustslave /dev/st231-1 /lib/firmware/audio_dts.elf > /dev/null
else
/bin/ustslave /dev/st231-1 /lib/firmware/audio.elf > /dev/null
fi

echo "Load video firmware (LOAD 7)"
echo "Load 7" > /dev/vfd
/bin/ustslave /dev/st231-0 /lib/firmware/video.elf > /dev/null

echo "Init embx (LOAD 6)"
echo "Load 6" > /dev/vfd
insmod $MODDIR/embxshell.ko
insmod $MODDIR/embxmailbox.ko mailbox0=0xfe211000:136:set2 mailbox1=0xfe212000:0
insmod $MODDIR/embxshm.ko mailbox0=shm:0:7:0x60000000:0:256:256:0:512:0x40000000:0x10000000
insmod $MODDIR/mme_host.ko transport0=shm

echo "Init AVS (LOAD 5)"
echo "Load 5" > /dev/vfd
insmod $MODDIR/avs.ko type=avs_pio

player=`cat /proc/stb/player/version | awk '{ print substr( $0, length($0) - 2, length($0) ) }'`
echo "Init player $player (LOAD 4)"
echo "Load 4" > /dev/vfd

insmod $MODDIR/mmelog.ko
insmod $MODDIR/ksound.ko
insmod $MODDIR/p2div64.ko
insmod $MODDIR/stm_v4l2.ko
insmod $MODDIR/stmvout.ko
insmod $MODDIR/stmvbi.ko
insmod $MODDIR/pseudocard.ko

#Set desired mode for tuner 3 here: t=DVB-T, c=DVB-C
#tunertype='t'
insmod $MODDIR/stv090x.ko

#pti_arg="waitMS=20 videoMem=4096"
#echo "Full feature pti"
pti_arg=""
echo "Simple pti"
insmod $MODDIR/pti.ko $pti_arg
insmod $MODDIR/stm_monitor.ko
insmod $MODDIR/stmsysfs.ko
insmod $MODDIR/stmdvb.ko

echo "Load 3" > /dev/vfd
echo "LOAD 3"
insmod $MODDIR/player2.ko
insmod $MODDIR/sth264pp.ko
insmod $MODDIR/stmalloc.ko
insmod $MODDIR/platform.ko
insmod $MODDIR/silencegen.ko
insmod $MODDIR/smartcard.ko
insmod $MODDIR/bpamem.ko

if [ -e /boot/tvhlogo_720.mvi ]; then
showiframe -p /boot/tvhlogo_720.mvi &
fi
stfbcontrol a 0

echo "Init smartcard cardreader (LOAD 2)"
echo "Load 2" > /dev/vfd
#mkdir -p /var/run/lirc
#/usr/bin/lircd -u

stfbcontrol a 255

#wlan=`cat /etc/enigma2/settings | grep systemoptions.wlan | cut -d "=" -f2`
#if [ ! $wlan ] || [ ! -e $MODDIR/$wlan.ko ]; then
# echo "No WLAN"
#else
# insmod $MODDIR/$wlan.ko
# echo "$wlan WLAN"
## echo "$wlan WLAN" > /dev/vfd
## sleep 3
#fi

# Start automounter with umount timeout of 5 seconds
mkdir -p /tmp/autofs
insmod $MODDIR/autofs4.ko
if [ -e /etc/init.d/automount ]; then
/usr/sbin/automount --ghost --timeout=5 /tmp/autofs file /etc/auto.usb
fi

if [ -e $MODDIR/ntfs.ko ]; then
insmod $MODDIR/ntfs.ko
fi

if [ -e $MODDIR/cifs.ko ]; then
insmod $MODDIR/cifs.ko
fi

echo "Init FTP (LOAD 1)"
echo "Load 1" > /dev/vfd
/etc/init.d/vsftpd start
/usr/sbin/inetd

mknod /dev/dvb/adapter0/frontend1 c 212 19 #SAT1
mknod /dev/dvb/adapter0/frontend2 c 212 35 #SAT2
mknod /dev/dvb/adapter0/frontend3 c 212 51 #T/C

NFS=`grep -c nfs /proc/cmdline`
if [ "$NFS" -eq "1" ]; then
echo "Booting from nfs, don't set network"
else
if [ -e /etc/network/interfaces ]; then
ip addr flush eth0
/etc/init.d/networking stop
DHCP=`grep -c 'iface eth0 inet dhcp' /etc/network/interfaces`
if [ "$DHCP" -eq "1" ]; then
echo "Starting DHCP on eth0"
/etc/init.d/udhcpc start
fi
/etc/init.d/networking start
fi
fi
#Allow network to wake up and initialize
sleep 2
#Show IP address on frontpanel
ip=`ifconfig eth0 | sed -n '/inet addr/s/.*addr.\([^ ]*\) .*/\1/p'`
echo "IP $ip" > /dev/vfd
sleep 3

# Do own extras
if [ -e /etc/ownscript.sh ]; then
/etc/ownscript.sh &
fi

# Try and synchronise time
if [ -e /sbin/ntpdate ]; then
echo "Set internet time"
(/sbin/ntpdate de.pool.ntp.org; /bin/fp_control -sst) &
else
if [ -e /usr/sbin/time.sh ]; then
echo "Use transponder time"
/usr/sbin/time.sh &
fi
fi

echo "Start Tvheadend" > /dev/vfd
echo "Start Tvheadend"

until false
do
echo "Entering Tvheadend main loop"
/usr/local/bin/tvheadend --http_port 80 -C
rtv=$?
echo "Tvheadend ended <- RTV: " $rtv
case "$rtv" in
0) echo "0"
echo "SHUTDOWN"
echo "Shutdown" > /dev/vfd
init 0;;
1) echo "1"
echo "REBOOT"
echo "Reboot" > /dev/vfd
init 6;;
*) echo "*"
echo "ERROR"
echo "Error" > /dev/vfd
init 6;;
esac
done

#never reached
echo "Reboot SPARK" > /dev/vfd
echo "REBOOT SPARK"
init 6