# cat /home/default/action.sh #!/bin/sh #$1 - path; $2 - return value check_file_path() { DIR1="/ram/media" DIR2="/ram/mnt" fpath="$1" fpath=${fpath%/*} rpath=`realpath "$fpath/" 2>/dev/null` dir1=${rpath#${DIR1}*} dir2=${rpath#${DIR2}*} if [ "$rpath" == "" ] ; then export $2="Error" return; fi if [ "$dir1" == "$rpath" ] ; then if [ "$dir2" == "$rpath" ] ; then export $2="Error" return; fi fi export $2="Ok" } PATH=$PATH:/home/default case "$1" in reboot) reboot ;; bright) ;; mount_dir) check_file_path "$3" ret if [ "$ret" == "Error" ]; then echo -ne "Error: wrong mount point" exit 2; fi mount -t nfs -o ro,rsize=4096,wsize=4096,nolock,udp "$2" "$3" ;; umount_dir) umount "$2" ;; make_dir) mkdir "$2" ;; SetVideoOut) ;; RebootDHCP) rebootmng.sh dhcp ;; UpdateSW) # $2 - upgrade mode # up_ip_tftp # up_dhcp_tftp # up_mc rebootmng.sh $2 ;; front_panel) /home/default/setFpanel.sh "$2" "$3" ;; tvsystem) mode="" case "$2" in PAL|576p-50|720p-50|1080i-50|NTSC|576p-60|720p-60|1080i-60|1080p-50|1080p-60) mode="$2" ;; 576i) mode="PAL" ;; 480i) mode="NTSC" ;; esac if [ -n "$mode" ] ; then fw_setenv tvsystem $mode fi ;; graphicres) case "$2" in 1920|1280|720|tvsystem_res) fw_setenv graphicres $2 ;; esac ;; timezone) TZCONF="/ram/timezone" LTCONF="/ram/localtime" timezone=$2 tzconf=`fw_printenv timezone_conf 2>/dev/null` tzconf=${tzconf#timezone_conf=} if [ "$tzconf" != "$timezone" ]; then fw_setenv timezone_conf $timezone fi if [ -n "$timezone" ]; then echo "$timezone" > $TZCONF rm $LTCONF ln -s /usr/share/zoneinfo/$timezone $LTCONF else echo "Europe/Kiev" > $TZCONF rm $LTCONF ln -s /usr/share/zoneinfo/Europe/Kiev $LTCONF fi ;; set_key) echo "$2" >/tmp/key ;; *) echo Bad Action code. ;; esac