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