xref: /OK3568_Linux_fs/device/rockchip/common/images/oem/oem_ipc/RkLunch.sh (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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