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