#!/bin/sh
### BEGIN INIT INFO
# Provides:             gbplattform
# Required-Start:       $volatile
# Required-Stop:      $volatile
# Default-Start:        S
# Default-Stop:        0 6
# Short-Description:  Start nxServer
### END INIT INFO

if [ -e /sys/class/net/sys0 ]; then
  ifconfig sys0 up
fi

case "$1" in
  start)
    # first boot?

    DRV_PATH=/lib/modules/4.1.20-1.9/extra
    B_REFSW_BOXMODE=5

    if [ -d /home/root/platform ]; then
      echo -n "Updating gigablue-platform-util..."
      if [ -d /usr/share/platform ]; then
        rm -rf /usr/share/platform
      fi
      chmod +x /home/root/platform/*
      mv -f /home/root/platform /usr/share/platform
      mkdir -p $DRV_PATH
      cp -rf /usr/share/platform/*.ko $DRV_PATH/
      cp -rf /usr/share/platform/*.so /usr/lib/
      ln -sf /usr/share/platform/dvb_init /usr/bin/dvb_init
      ln -sf /usr/share/platform/nxserver /usr/bin/nxserver
      sync
      echo -n "gigablue-platform-util updated!"
    fi

    [ -f /etc/dropbear/dropbear_rsa_host_key ]
    echo -n "Starting gigablue-platform-util..."

    if [ ! -e /tmp/nxserver_ipc ]; then
      export B_REFSW_BOXMODE=$B_REFSW_BOXMODE
      insmod $DRV_PATH/nexus.ko
      /usr/bin/nxserver &
      /usr/bin/dvb_init $DRV_PATH/dvb.ko &
    fi

    while [ ! -c /dev/fb0 ]; do
      usleep 100000
    done

    echo -n "gigablue-platform-util is started"
    ;;
  stop)
    ;;
  restart)
    $0 stop
    sleep 1
    $1 start
    ;;
  *)
    echo "Usage: /etc/init.d/gigablue-platform-util {start|stop|restart}"
    exit 1
esac

exit 0
