#!/bin/sh

MODDIR=/lib/modules

if [ -e /etc/.flash ]; then
	mount -t jffs2 	/dev/mtdblock4  				/var
	mount --bind 	/var/rw_rootfs/etc.enigma2 			/etc/enigma2
	mount --bind 	/var/rw_rootfs/etc.tuxbox			/etc/tuxbox
	mount --bind 	/var/rw_rootfs/usr.local.share.enigma2 		/usr/local/share/enigma2
	mount --bind 	/var/rw_rootfs/usr.lib.enigma2.python.Plugins	/usr/lib/enigma2/python/Plugins
	mount --bind 	/var/rw_rootfs/root				/root
	mount --bind 	/var/rw_rootfs/usr.lib.ipkg			/usr/lib/ipkg
fi

insmod $MODDIR/e2_proc.ko
insmod $MODDIR/fp.ko

if [ -e /var/etc/.firstboot ]; then
   rm /var/etc/.firstboot
   sleep 1
   echo "WAIT 3 min"
   echo "WAIT 3 min" > /dev/dbox/fp0
   touch /dev/.udev
fi


/etc/init.d/mountvirtfs start

if [ -e /dev/ttyAS1 ]; then 
   rm -f /dev/ttyAS1 
fi 

/etc/init.d/portmap start

/bin/cubefpctl --syncsystime

if [ ! -e /var/etc/.firstboot ]; then
. /var/config/revision
echo "PKT $wersja_PKT"
echo "PKT $wersja_PKT" > /dev/dbox/fp0  

echo "init AVS"

if [ -e /var/config/.91 ]; then
    insmod $MODDIR/avs.ko type=fake_avs
else
    insmod $MODDIR/avs.ko type=stv6412
fi

   echo "init stmfb"
   insmod $MODDIR/stmcore-display-stx7109c3.ko
   /bin/cubefpctl --gettvmode
   TVMODE=$?
   case "$TVMODE" in
	0) echo "SD-PAL"
  	   insmod $MODDIR/stmfb.ko display0=720x576-32@50:12m:pal:yuv:yuv;;
	1) echo "SD-NTSC"
	   insmod $MODDIR/stmfb.ko display0=720x480-32@60:12m:ntsc-m:yuv:yuv;;
	2) echo "720P-50"
	   insmod $MODDIR/stmfb.ko display0=1280x720-32@50:12m:pal:yuv:yuv;;
	3) echo "720P-60"
	   insmod $MODDIR/stmfb.ko display0=1280x720-32@60:12m:ntsc-m:yuv:yuv;;
	4) echo "1080I-50"
	   insmod $MODDIR/stmfb.ko display0=1920x1080-32@50i:12m:pal:yuv:yuv;;
	5) echo "1080I-60"
	   insmod $MODDIR/stmfb.ko display0=1920x1080-32@60i:12m:ntsc-m:yuv:yuv;;
	*) echo "Use default SD-PAL"
	   insmod $MODDIR/stmfb.ko display0=720x576-32@50:12m:pal:yuv:yuv;;
   esac

   echo "load a/v firmware"
   /bin/stslave -t stb7100.0 -R /boot/video.elf
   /bin/stslave -t stb7100.1 -R /boot/audio.elf

   echo "init embx"
   insmod $MODDIR/embxshell.ko
   insmod $MODDIR/embxmailbox.ko mailbox0=0xb9211000:136:set2 mailbox1=0xb9212000:0 ;
   insmod $MODDIR/embxshm.ko mailbox0=shm:0:7:0x60000000:0:256:256:0:1024:0xa4000000:0x10000000 ;
   insmod $MODDIR/mme_host.ko transport0=shm

   echo "init player"
   insmod $MODDIR/mmelog.ko
   insmod $MODDIR/mpeg2hw.ko mmeName=MPEG2_TRANSFORMER1;
   insmod $MODDIR/ksound.ko
   insmod $MODDIR/stm_v4l2.ko
   insmod $MODDIR/pseudocard.ko
   insmod $MODDIR/tuner.ko
   insmod $MODDIR/starci.ko
   insmod $MODDIR/pti.ko
   insmod $MODDIR/stmdvb.ko
   insmod $MODDIR/stm_monitor.ko
   insmod $MODDIR/player2.ko
   insmod $MODDIR/sth264pp.ko
   insmod $MODDIR/stmalloc.ko
   insmod $MODDIR/platform.ko
   insmod $MODDIR/silencegen.ko 

   echo "init frontpanel"
   insmod $MODDIR/boxtype.ko
fi

showiframe -p /boot/bootlogo.mvi &
stfbcontrol a 0

if [ ! -e /var/etc/.firstboot ]; then
   echo "enigma2" > /dev/dbox/fp0
   echo "LOADING e2"

   /etc/init.d/mountall start

   /etc/init.d/hostname start

   echo "starting telnetd"
   /usr/sbin/telnetd -l /bin/login
   /etc/init.d/vsftpd start
   /usr/sbin/inetd

   if [ -e /etc/network/interfaces ]; then
     ip addr flush eth0
     /etc/init.d/networking stop
     TEST=$(grep -c 'dhcp' /etc/network/interfaces)
     if [ "$(TEST)" -eq "1" ]; then
       /etc/init.d/udhcpc start
     fi
     /etc/init.d/networking start
   fi

   if [ -e /var/config/satclock.off ]; then
     ntpdate -b 207.46.232.182
   fi

   #init rc.modules
   /var/config/rc.modules
   
   #init rc.local
   /var/config/rc.local

   #init rc.user
   /var/config/rc.user&

   stfbcontrol a 255
   until false
   do
      /bin/cubefpctl --setledoff
      cp /tmp/reference.dat /var/bin
      echo "starting e2->"
      /usr/local/bin/enigma2
      rtv=$?
      echo "e2 ended <- RTV: " $rtv
      case "$rtv" in
		0) echo "0"
		   echo "E2 ERROR"
      		   init 6;;
		1) echo "1"
		   echo "SHUTDOWN"
		   echo "SHUTDOWN" > /dev/dbox/fp0
		   init 0;;
		2) echo "2"
		   echo "REBOOT"
		   init 6;;
		3) echo "3"
		   echo "E2 RESTART"
		   showiframe -p /boot/bootlogo.mvi &
		   echo "0" > /proc/progress;;
		*) echo "*"
		   echo "ERROR"
		   showiframe -p /boot/bootlogo.mvi &
		   echo "0" > /proc/progress;;
      esac
   done 
fi

echo "REBOOT CUBEREVO" > /dev/dbox/fp0
echo "REBOOT CUBEREVO"
init 6
