1*4882a593Smuzhiyun#!/bin/sh 2*4882a593Smuzhiyun# 3*4882a593Smuzhiyun 4*4882a593Smuzhiyuncheck_linker() 5*4882a593Smuzhiyun{ 6*4882a593Smuzhiyun [ ! -L "$2" ] && ln -sf $1 $2 7*4882a593Smuzhiyun} 8*4882a593Smuzhiyun 9*4882a593Smuzhiyun[ -f /etc/profile.d/enable_coredump.sh ] && source /etc/profile.d/enable_coredump.sh 10*4882a593Smuzhiyun 11*4882a593Smuzhiyuncheck_linker /userdata /oem/usr/www/userdata 12*4882a593Smuzhiyuncheck_linker /userdata /oem/usr/www/userdata 13*4882a593Smuzhiyuncheck_linker /media/usb0 /oem/usr/www/usb0 14*4882a593Smuzhiyuncheck_linker /mnt/sdcard /oem/usr/www/sdcard 15*4882a593Smuzhiyun 16*4882a593Smuzhiyunif [ ! -f "/oem/sysconfig.db" ]; then 17*4882a593Smuzhiyun media-ctl -p -d /dev/media1 | grep 3840x2160 18*4882a593Smuzhiyun if [ $? -eq 0 ] ;then 19*4882a593Smuzhiyun ln -s -f /oem/sysconfig-4K.db /oem/sysconfig.db 20*4882a593Smuzhiyun fi 21*4882a593Smuzhiyun media-ctl -p -d /dev/media1 | grep 2688x1520 22*4882a593Smuzhiyun if [ $? -eq 0 ] ;then 23*4882a593Smuzhiyun ln -s -f /oem/sysconfig-2K.db /oem/sysconfig.db 24*4882a593Smuzhiyun fi 25*4882a593Smuzhiyun media-ctl -p -d /dev/media1 | grep 1920x1080 26*4882a593Smuzhiyun if [ $? -eq 0 ] ;then 27*4882a593Smuzhiyun ln -s -f /oem/sysconfig-1080P.db /oem/sysconfig.db 28*4882a593Smuzhiyun fi 29*4882a593Smuzhiyun media-ctl -p -d /dev/media1 | grep 2592x1944 30*4882a593Smuzhiyun if [ $? -eq 0 ] ;then 31*4882a593Smuzhiyun ln -s -f /oem/sysconfig-5M.db /oem/sysconfig.db 32*4882a593Smuzhiyun fi 33*4882a593Smuzhiyunfi 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun#set max socket buffer size to 1.5MByte 36*4882a593Smuzhiyunsysctl -w net.core.wmem_max=1572864 37*4882a593Smuzhiyun 38*4882a593Smuzhiyunexport HDR_MODE=1 39*4882a593Smuzhiyunexport enable_encoder_debug=0 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun#vpu 600M, kernel default 600M 42*4882a593Smuzhiyun#echo 600000000 >/sys/kernel/debug/mpp_service/rkvenc/clk_core 43*4882a593Smuzhiyun 44*4882a593Smuzhiyunipc-daemon --no-mediaserver & 45*4882a593Smuzhiyunsleep 2 46*4882a593SmuzhiyunQUICKDISPLAY=`busybox ps |grep -w startup_app_ipc |grep -v grep` 47*4882a593Smuzhiyunif [ -z "$QUICKDISPLAY" ] ;then 48*4882a593Smuzhiyun echo "run ispserver" 49*4882a593Smuzhiyun ispserver & 50*4882a593Smuzhiyun sleep 1 51*4882a593Smuzhiyunelse 52*4882a593Smuzhiyun echo "ispserver is running" 53*4882a593Smuzhiyunfi 54*4882a593Smuzhiyun 55*4882a593Smuzhiyunls /sys/class/drm | grep "card0-" 56*4882a593Smuzhiyunif [ $? -ne 0 ] ;then 57*4882a593Smuzhiyun echo "not found display" 58*4882a593Smuzhiyun HasDisplay=0 59*4882a593Smuzhiyunelse 60*4882a593Smuzhiyun echo "find display" 61*4882a593Smuzhiyun HasDisplay=1 62*4882a593Smuzhiyun cat /proc/device-tree/compatible | grep lt9611 63*4882a593Smuzhiyun if [ $? -ne 0 ] ;then 64*4882a593Smuzhiyun echo "not HDMI" 65*4882a593Smuzhiyun else 66*4882a593Smuzhiyun echo "find HDMI" 67*4882a593Smuzhiyun HasHDMI=1 68*4882a593Smuzhiyun fi 69*4882a593Smuzhiyunfi 70*4882a593Smuzhiyun 71*4882a593Smuzhiyunarecord -l |grep "card 0" 72*4882a593Smuzhiyunif [ $? -ne 0 ] ;then 73*4882a593Smuzhiyun echo "not found sound card" 74*4882a593Smuzhiyun HasAudio=0 75*4882a593Smuzhiyunelse 76*4882a593Smuzhiyun echo "find sound card" 77*4882a593Smuzhiyun HasAudio=1 78*4882a593Smuzhiyunfi 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun# TODO: 81*4882a593Smuzhiyun# HasAudio=0 82*4882a593Smuzhiyun 83*4882a593Smuzhiyunif [ $HasDisplay -eq 1 ]; then 84*4882a593Smuzhiyun if [ $HasHDMI -eq 1 ]; then 85*4882a593Smuzhiyun mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-hdmi-display.conf & 86*4882a593Smuzhiyun else 87*4882a593Smuzhiyun if [ -z "$QUICKDISPLAY" ]; then 88*4882a593Smuzhiyun if [ $HasAudio -eq 1 ]; then 89*4882a593Smuzhiyun mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-display.conf & 90*4882a593Smuzhiyun else 91*4882a593Smuzhiyun mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-display-without-audio.conf & 92*4882a593Smuzhiyun fi 93*4882a593Smuzhiyun else 94*4882a593Smuzhiyun if [ $HasAudio -eq 1 ]; then 95*4882a593Smuzhiyun mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc.conf & 96*4882a593Smuzhiyun else 97*4882a593Smuzhiyun mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-without-audio.conf & 98*4882a593Smuzhiyun fi 99*4882a593Smuzhiyun fi 100*4882a593Smuzhiyun fi 101*4882a593Smuzhiyunelse 102*4882a593Smuzhiyun if [ $HasAudio -eq 1 ]; then 103*4882a593Smuzhiyun mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc.conf & 104*4882a593Smuzhiyun else 105*4882a593Smuzhiyun mediaserver -c /oem/usr/share/mediaserver/rv1109/ipc-without-audio.conf & 106*4882a593Smuzhiyun fi 107*4882a593Smuzhiyunfi 108*4882a593Smuzhiyun 109*4882a593Smuzhiyun# mount media part for video recording 110*4882a593Smuzhiyunexport MEDIA_DEV=/dev/block/by-name/media 111*4882a593Smuzhiyunexport FSTYPE=ext4 112*4882a593Smuzhiyun 113*4882a593Smuzhiyunif [ ! -L $MEDIA_DEV ]; then 114*4882a593Smuzhiyun echo "media part not exit, do nothing"; 115*4882a593Smuzhiyun exit 116*4882a593Smuzhiyunfi 117*4882a593Smuzhiyun 118*4882a593Smuzhiyunprepare_part() 119*4882a593Smuzhiyun{ 120*4882a593Smuzhiyun dumpe2fs -h $MEDIA_DEV 2>/dev/null| grep "media" 121*4882a593Smuzhiyun if [ $? -ne 0 ]; then 122*4882a593Smuzhiyun echo "Auto formatting $MEDIA_DEV to $FSTYPE" 123*4882a593Smuzhiyun mke2fs -F -L media $MEDIA_DEV && resize2fs $MEDIA_DEV && tune2fs -c 0 -i 0 $MEDIA_DEV && prepare_part && return 124*4882a593Smuzhiyun fi 125*4882a593Smuzhiyun} 126*4882a593Smuzhiyunprepare_part 127*4882a593Smuzhiyunecho "prepare_part /userdata/media" 128*4882a593Smuzhiyunmkdir -p /userdata/media && sync 129*4882a593Smuzhiyunecho "fsck /userdata/media" 130*4882a593Smuzhiyunfsck.$FSTYPE -y $MEDIA_DEV 131*4882a593Smuzhiyunmount $MEDIA_DEV /userdata/media 132