9f7c1f6882f05e38c0f949e5bc8ec3a3c7b1ea13
[adaptation/system-plugin-slp.git] / etc / rc.d / rc.sysinit
1 #!/bin/sh
2
3 # Color set for ANSI TERM
4 _R='\033[0;31;1m'       #Red
5 _G='\033[0;32;1m'       #Green
6 _Y='\033[0;33;1m'       #Yellow
7 C_='\033[0m'            #Color off
8
9
10 echo -e "[${_G}rc.sysinit : script starts${C_}]"
11 echo -e "[${_G}mount...${C_}]"
12 mount -t proc none /proc
13 mount -t tmpfs tmpfs /tmp
14 mount -t tmpfs tmpfs /var
15 mount -t sysfs none /sys
16 mount -t tmpfs tmpfs /dev  # remount dev to make it writable
17 mkdir -p /dev/pts
18 mkdir -p /dev/shm
19 mount -t tmpfs none /dev/shm
20 mount -t devpts devpts /dev/pts
21 mount -t debugfs none /sys/kernel/debug
22
23 echo -e "[${_G}prepare device node${C_}]"
24 if [ ! -e /dev/snd ]; then
25         mkdir /dev/snd
26 fi
27
28 mdev -s
29 mknod /dev/ttySAC1 c 204 65 # UART1 device node for GPS (requested by youngae.kang)
30 mknod /dev/ttySAC2 c 204 66
31
32 # check special booting mode.
33 /bin/check-booting-mode.sh
34 if [ $? -eq 0 ]; then
35         echo -e "${_R}[ Special Booting mode ]${C_}"
36         for i in /etc/rc.d/rc2.d/*; do
37                 echo -e "${_G}[${i} start]${C_}"
38                 $i start
39         done
40         exit 0
41 fi
42
43 # mount
44 mount -a
45
46 echo -e "[${_G}udev start${C_}]"
47 /sbin/udevd --daemon
48 /sbin/udevadm trigger --subsystem-match=iio
49
50 echo -e "[${_G}create base directory in /opt, /var${C_}]"
51 # construct directory hierarchy
52 mkdir -p /opt/var/log/apt
53 ln -s /opt/var/log /var/log
54 mkdir -p /opt/var/lib
55 ln -s /opt/var/lib /var/lib             # for apt
56 mkdir -p /opt/var/cache
57 ln -s /opt/var/cache /var/cache         # for apt
58 mkdir -p /var/run
59
60
61 if [ ! -e /opt/etc/.firstboot ]; then
62         echo -e "[${_Y}rc.firstboot${C_}]"
63         /etc/rc.d/rc.firstboot
64         touch /opt/etc/.firstboot
65 fi
66
67 echo -e "[${_G}set device node perm & security${C_}]"
68 # Set device node permissions for security
69 chown 0:6501 /dev/video1
70 chown 0:6501 /dev/s3c-jpg
71 #chmod 666 /dev/pvrsrvkm
72 chown 0:6509 /dev/log_main
73 chown 0:6509 /dev/log_events
74 chown 0:6509 /dev/log_radio
75 chown :audio /dev/snd/
76 chmod 775 /dev/snd/
77 chown :audio /dev/snd/controlC0
78 chown :audio /dev/snd/pcmC0D0p
79 chown :audio /dev/snd/pcmC0D1p
80 chown :audio /dev/snd/pcmC0D2p
81 chown :audio /dev/snd/pcmC0D3p
82 chown :audio /dev/snd/timer
83 chown 0:6508 /dev/snd/pcmC0D0c
84 chown 0:6508 /dev/snd/pcmC0D1c
85 chown 0:6508 /dev/snd/pcmC0D2c
86 chown 0:6508 /dev/snd/pcmC0D3c
87 chown 0:6510 /dev/s5p-mfc
88 chown 0:6510 /dev/video5
89 chown 0:6510 /dev/video6
90 chmod 666 /dev/random
91 chmod 666 /dev/urandom
92 chown :video /dev/fb0
93 chown :video /dev/video0
94 chown :video /dev/video2
95 chown :video /dev/video3
96 chown :6512 /dev/radio0
97 chown :6702 /sys/class/backlight/*/brightness
98 # change node's owner for torch light
99 chown :6703 /sys/class/leds/leds-torch/brightness
100 chmod 664 /sys/class/backlight/*/brightness
101 # change files permission for 3D application
102 chmod 666 /dev/ump
103 chmod 666 /dev/mali
104
105 # Set gst-openmax configure file
106 export OMX_CONFIG=/opt/etc/gst-openmax.conf
107
108 echo -e "[${_G}make gstreamer registery${C_}]"
109 # Make gst registry
110 export GST_REGISTRY=/opt/etc/.gstreamer-0.10/registry.bin.arm
111 gst-inspect 1> /dev/null
112 chmod 655 /opt/etc/.gstreamer-0.10
113 chmod 644 /opt/etc/.gstreamer-0.10/registry.bin.arm
114
115 # Modem power on
116 echo -e "[${_Y}modem power on${C_}]"
117 ln -s /boot/modem.bin /modem/modem.bin
118 ./usr/bin/xmm6260-boot &
119
120 #touch sensor start
121 echo 1 > /sys/class/i2c-adapter/i2c-2/2-004a/touchstart
122
123 echo -e "[${_G}run profile${C_}]"
124 # Run profile
125 . /etc/profile
126
127 if [ -e /opt/etc/.debugmode ]; then
128         echo "debug mode enabled"
129         # for bluescreen
130         export LD_PRELOAD=/usr/lib/libsys-assert.so
131         # enable coredump
132         echo "/opt/bs/core/core.%p" > /proc/sys/kernel/core_pattern
133         ulimit -c unlimited
134 else
135         echo "debug mode disabled"
136 fi
137
138 /usr/bin/press 1 # wait input to stop running scripts
139 if [ $? -eq 0 ]; then
140         echo "script is stopped"
141         # prepare usbnet before exit
142         insmod /usr/driver/g_ether.ko
143         sleep 1
144         ifconfig usb0 192.168.129.3 netmask 255.255.255.0
145         # Run all rc0 scripts
146         for i in /etc/rc.d/rc0.d/*; do
147                 echo -e "[${_G}${i} start${C_}]"
148                 $i start
149         done
150 else
151         # Run all rc3 scripts
152         echo -e "[${_G}run all rc3 scripts${C_}]"
153         echo "normal boot"
154         for i in /etc/rc.d/rc3.d/*; do
155                 echo -e "[${_G}${i} start${C_}]"
156                 $i start
157         done
158 fi
159
160 echo -e "[${_G}set cpufreq governor${C_}]"
161 # Set default cpufreq governor
162 echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
163
164 # symbolic link
165 if [ ! -e /opt/apps ]; then
166         echo -e "[${_G}link /opt/apps -> /opt/media/apps${C_}]"
167         ln -s /opt/media/apps /opt/apps
168 fi
169
170 # inhouse home-directory
171 chown 5000:5000 /home/inhouse
172