Commit | Line | Data |
---|---|---|
d05bb22f S |
1 | # Copyright (C) 2012 The Android Open Source Project |
2 | # | |
3 | # IMPORTANT: Do not create world writable files or directories. | |
4 | # This is a common source of Android security bugs. | |
5 | # | |
6 | ||
7 | on charger | |
8 | write /proc/bootprof "INIT:eMMC:Mount_START" | |
9 | mount_all /fstab.mt8127 | |
10 | write /proc/bootprof "INIT:eMMC:Mount_END" | |
11 | ||
12 | #change partition permission | |
13 | exec /system/etc/partition_permission.sh | |
14 | ||
15 | # once everything is setup, no need to modify / | |
16 | mount rootfs rootfs / ro remount | |
17 | ||
18 | # We chown/chmod /cache again so because mount is run as root + defaults | |
19 | chown system cache /cache | |
20 | chmod 0770 /cache | |
21 | ||
22 | # This may have been created by the recovery system with odd permissions | |
23 | chown system cache /cache/recovery | |
24 | chmod 0770 /cache/recovery | |
25 | ||
26 | #change permissions on vmallocinfo so we can grab it from bugreports | |
27 | chown root log /proc/vmallocinfo | |
28 | chmod 0440 /proc/vmallocinfo | |
29 | ||
30 | #change permissions for mediaserver | |
31 | chown root media /proc/clkmgr/mipi_test | |
32 | ||
33 | #change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks | |
34 | chown root system /proc/kmsg | |
35 | chmod 0440 /proc/kmsg | |
36 | chown root system /proc/sysrq-trigger | |
37 | chmod 0220 /proc/sysrq-trigger | |
38 | ||
39 | # create the lost+found directories, so as to enforce our permissions | |
40 | mkdir /cache/lost+found 0770 root root | |
41 | ||
42 | # change owner | |
43 | chown root system /proc/bootprof | |
44 | chown root system /proc/mtprof/cputime | |
45 | ||
46 | # We chown/chmod /data again so because mount is run as root + defaults | |
47 | chown system system /data | |
48 | chmod 0777 /data | |
49 | #chmod 0771 /data | |
50 | ||
51 | # Create dump dir and collect dumps. | |
52 | # Do this before we mount cache so eventually we can use cache for | |
53 | # storing dumps on platforms which do not have a dedicated dump partition. | |
54 | mkdir /data/dontpanic 0750 root log | |
55 | ||
56 | # Collect apanic data, free resources and re-arm trigger | |
57 | copy /proc/apanic_console /data/dontpanic/apanic_console | |
58 | chown root log /data/dontpanic/apanic_console | |
59 | chmod 0640 /data/dontpanic/apanic_console | |
60 | ||
61 | copy /proc/apanic_threads /data/dontpanic/apanic_threads | |
62 | chown root log /data/dontpanic/apanic_threads | |
63 | chmod 0640 /data/dontpanic/apanic_threads | |
64 | ||
65 | write /proc/apanic_console 1 | |
66 | ||
67 | # create basic filesystem structure | |
68 | mkdir /data/nvram 2770 root system | |
69 | mkdir /data/misc 01771 system misc | |
70 | mkdir /data/misc/adb 02750 system shell | |
71 | mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth | |
72 | mkdir /data/misc/bluetooth 0770 system system | |
73 | mkdir /data/misc/keystore 0700 keystore keystore | |
74 | mkdir /data/misc/keychain 0771 system system | |
75 | mkdir /data/misc/vpn 0770 system vpn | |
76 | mkdir /data/misc/systemkeys 0700 system system | |
77 | # give system access to wpa_supplicant.conf for backup and restore | |
78 | mkdir /data/misc/wifi 0770 wifi wifi | |
79 | chmod 0660 /data/misc/wifi/wpa_supplicant.conf | |
80 | chmod 0660 /data/misc/wifi/p2p_supplicant.conf | |
81 | mkdir /data/local 0751 root root | |
82 | # For security reasons, /data/local/tmp should always be empty. | |
83 | # Do not place files or directories in /data/local/tmp | |
84 | mkdir /data/local/tmp 0771 shell shell | |
85 | mkdir /data/data 0771 system system | |
86 | mkdir /data/app-private 0771 system system | |
87 | mkdir /data/app-asec 0700 root root | |
88 | mkdir /data/app-lib 0771 system system | |
89 | mkdir /data/app 0771 system system | |
90 | mkdir /data/property 0700 root root | |
91 | mkdir /data/ssh 0750 root shell | |
92 | mkdir /data/ssh/empty 0700 root root | |
93 | ||
94 | ||
95 | #give system access to rfkill device node | |
96 | chmod 0660 /dev/rfkill | |
97 | ||
98 | # create dalvik-cache, so as to enforce our permissions | |
99 | mkdir /data/dalvik-cache 0771 system system | |
100 | ||
101 | # create resource-cache and double-check the perms | |
102 | mkdir /data/resource-cache 0771 system system | |
103 | chown system system /data/resource-cache | |
104 | chmod 0771 /data/resource-cache | |
105 | ||
106 | # create the lost+found directories, so as to enforce our permissions | |
107 | mkdir /data/lost+found 0770 root root | |
108 | ||
109 | # create for muxd pts device node , to operate without root | |
110 | mkdir /dev/radio 0770 radio radio | |
111 | ||
112 | # create directory for DRM plug-ins | |
113 | mkdir /data/drm 0774 drm drm | |
114 | ||
115 | # If there is no fs-post-data action in the init.<device>.rc file, you | |
116 | # must uncomment this line, otherwise encrypted filesystems | |
117 | # won't work. | |
118 | # Set indication (checked by vold) that we have finished this action | |
119 | #setprop vold.post_fs_data_done 1 | |
120 | ||
121 | # ----------------------- | |
122 | # Add by MTK | |
123 | ||
124 | # dhcp server | |
125 | mkdir /data/misc/dhcp 0770 dhcp dhcp | |
126 | chown dhcp dhcp /data/misc/dhcp | |
127 | ||
128 | # radvd | |
129 | mkdir /data/misc/radvd 0770 system system | |
130 | chmod 444 /etc/radvd/radvd.conf | |
131 | ||
132 | #Mali 3D GPU driver | |
133 | #insmod /system/lib/modules/ump.ko | |
134 | insmod /system/lib/modules/mali.ko | |
135 | #chmod 666 /dev/ump | |
136 | chmod 666 /dev/mali | |
137 | #chown graphics /dev/ump | |
138 | chown graphics /dev/mali | |
139 | ||
140 | ||
141 | # Permissions for System Server and daemons. | |
142 | chown root radio /sys/class/leds/lcd-backlight/brightness | |
143 | chown root radio /sys/class/leds/lcd-backlight/duty | |
144 | chown root radio /sys/class/leds/lcd-backlight/div | |
145 | ||
146 | # Touch Panel | |
147 | chmod 0664 /dev/touch | |
148 | chown root diag /sys/module/tpd_setting/parameters/tpd_calmat | |
149 | chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time | |
150 | chown root diag /sys/module/tpd_setting/parameters/tpd_mode | |
151 | chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time0 | |
152 | chown root diag /sys/module/tpd_setting/parameters/tpd_em_debounce_time1 | |
153 | chown root diag /sys/module/tpd_setting/parameters/tpd_em_spl_num | |
154 | chown root diag /sys/module/tpd_setting/parameters/tpd_em_pressure_threshold | |
155 | chown root diag /sys/module/tpd_setting/parameters/tpd_em_auto_time_interval | |
156 | chown root diag /sys/module/tpd_setting/parameters/tpd_em_sample_cnt | |
157 | chown root diag /sys/module/tpd_setting/parameters/tpd_em_asamp | |
158 | chown root diag /sys/module/tpd_debug/parameters/tpd_em_log | |
159 | chown root diag /sys/module/tpd_debug/parameters/tpd_em_log_to_fs | |
160 | ||
161 | chmod 0666 /dev/pmem_multimedia | |
162 | ||
163 | # watch dog kicker | |
164 | write /proc/wdk "0 20 30" | |
165 | ||
166 | # set ptmx group to non-root | |
167 | chown root radio /dev/ptmx | |
168 | ||
169 | # RTC | |
170 | mkdir /data/misc/rtc 0770 system system | |
171 | ||
172 | # M4U | |
173 | #insmod /system/lib/modules/m4u.ko | |
174 | #mknod /dev/M4U_device c 188 0 | |
175 | chmod 0444 /dev/M4U_device | |
176 | #chown system media /dev/M4U_device | |
177 | ||
178 | # Sensor | |
179 | chmod 0660 /dev/hwmsensor | |
180 | chmod 0660 /dev/msensor | |
181 | chmod 0660 /dev/gsensor | |
182 | chmod 0660 /dev/als_ps | |
183 | chmod 0660 /dev/gyroscope | |
184 | chmod 0660 /sys/devices/platform/msensor/driver/cpsopmode | |
185 | chmod 0660 /sys/devices/platform/msensor/driver/cpsreptxy | |
186 | chmod 0660 /sys/devices/platform/msensor/driver/cpsreptz | |
187 | chown system system /dev/hwmsensor | |
188 | chown system system /dev/msensor | |
189 | chown system system /dev/gsensor | |
190 | chown system system /dev/als_ps | |
191 | chown system system /dev/gyroscope | |
192 | ||
193 | #Accdet | |
194 | chown root radio /sys/devices/platform/Accdet_Driver/driver/accdet_call_state | |
195 | ||
196 | #VideoCodec | |
197 | insmod /system/lib/modules/vcodec_kernel_driver.ko | |
198 | mknod /dev/Vcodec c 160 0 | |
199 | chmod 0660 /dev/Vcodec | |
200 | chown system media /dev/Vcodec | |
201 | ||
202 | #kpd | |
203 | chown radio radio /sys/devices/platform/mtk-kpd/driver/kpd_call_state | |
204 | ||
205 | mkdir /data/amit/ 0770 system system | |
206 | mkdir /data/misc/sensors 0664 system system | |
207 | mkdir /data/misc/akmd 0770 system system | |
208 | mkdir /data/misc/s62x 0771 compass compass | |
209 | mkdir /data/acdapi/ 0770 system system | |
210 | chmod 0666 /data/misc/acdapi/calib.dat | |
211 | chmod 0666 /data/misc/acdapi/param.dat | |
212 | chmod 0666 /data/misc/acdapi/sensors.dat | |
213 | chown system /sys/class/input/input4/enable | |
214 | chown system /sys/class/input/input4/delay | |
215 | chown system /sys/class/input/input4/wake | |
216 | chown system /sys/class/input/input2/enable | |
217 | chown system /sys/class/input/input2/wake | |
218 | chown system /sys/class/input/input3/offsets | |
219 | chown system /sys/devices/platform/msensor/driver/cpsopmode | |
220 | chown system /sys/devices/platform/msensor/driver/cpsreptxy | |
221 | chown system /sys/devices/platform/msensor/driver/cpsreptz | |
222 | ||
223 | mkdir /data/data/mcube 0664 system system | |
224 | ||
225 | #EM eint | |
226 | chown root diag /sys/bus/platform/drivers/eint/current_eint | |
227 | ||
228 | chmod 0660 /dev/graphics/fb0 | |
229 | chown system graphics /dev/graphics/fb0 | |
230 | ||
231 | chmod 0660 /dev/mtkfb_vsync | |
232 | chown system graphics /dev/mtkfb_vsync | |
233 | ||
234 | chmod 0660 /dev/sw_sync | |
235 | chown system graphics /dev/sw_sync | |
236 | ||
237 | # EM baseband file | |
238 | chown root diag /system/bin/baseband_regdump | |
239 | chmod 4750 /system/bin/baseband_regdump | |
240 | ||
241 | #pmu | |
242 | chown root radio /sys/devices/platform/mt-pmic/pmic_access_bank0 | |
243 | chown root radio /sys/devices/platform/mt-pmic/pmic_access_bank1 | |
244 | chown root radio /sys/devices/platform/mt6333-user/mt6333_access | |
245 | chown root radio /sys/devices/platform/mt-pmic/pmic_access | |
246 | chmod 0664 /sys/devices/platform/mt-pmic/pmic_access_bank0 | |
247 | chmod 0664 /sys/devices/platform/mt-pmic/pmic_access_bank1 | |
248 | chmod 0664 /sys/devices/platform/mt6333-user/mt6333_access | |
249 | chmod 0664 /sys/devices/platform/mt-pmic/pmic_access | |
250 | ||
251 | # EM CPU Speed Stress | |
252 | chown root radio /proc/cpu_ss/cpu_ss_debug_mode | |
253 | chown root radio /proc/cpu_ss/cpu_ss_mode | |
254 | chown root radio /proc/cpu_ss/cpu_ss_period | |
255 | chown root radio /proc/cpu_ss/cpu_ss_period_mode | |
256 | chmod 0664 /proc/cpu_ss/cpu_ss_debug_mode | |
257 | chmod 0664 /proc/cpu_ss/cpu_ss_mode | |
258 | chmod 0664 /proc/cpu_ss/cpu_ss_period | |
259 | chmod 0664 /proc/cpu_ss/cpu_ss_period_mode | |
260 | ||
261 | #EM eint | |
262 | chown root diag /sys/bus/platform/drivers/eint/current_eint | |
263 | ||
264 | # for ppp options file | |
265 | mkdir /data/misc/ppp | |
266 | chmod 0777 /data/misc/ppp | |
267 | ||
268 | # Android SEC related device nodes | |
269 | insmod /system/lib/modules/sec.ko | |
270 | mknod /dev/sec c 182 0 | |
271 | chmod 0660 /dev/sec | |
272 | chown root system /dev/sec | |
273 | ||
274 | # FM Radio device node | |
275 | mknod /dev/fm c 193 0; | |
276 | chmod 0660 /dev/fm | |
277 | chown system media /dev/fm | |
278 | ||
279 | # device apc settings | |
280 | insmod /system/lib/modules/devapc.ko | |
281 | ||
282 | # device info /proc interface | |
283 | #insmod /system/lib/modules/devinfo.ko | |
284 | #mknod /dev/devmap c 196 0; | |
285 | chmod 0660 /dev/devmap | |
286 | chown root system /dev/devmap | |
287 | ||
288 | # bluetooth | |
289 | mkdir /data/@btmtk 0770 bluetooth net_bt | |
290 | chown bluetooth bluetooth /dev/hid-keyboard | |
291 | chmod 0660 /dev/hid-keyboard | |
292 | chown bluetooth bluetooth /dev/btn | |
293 | chmod 0660 /dev/btn | |
294 | #Use uinput's default permission | |
295 | chown system net_bt_admin /dev/uinput | |
296 | ||
297 | #TV-out | |
298 | chmod 0664 /dev/TV-out | |
299 | ||
300 | #HDMI | |
301 | chmod 0664 /dev/hdmitx | |
302 | ||
303 | # JPEG | |
304 | #chmod 0444 /dev/mtk_jpeg | |
305 | ||
306 | # DISP | |
307 | chmod 0444 /dev/mtk_disp | |
308 | ||
309 | #Camera | |
310 | chmod 0660 /dev/camera-sysram | |
311 | chmod 0660 /dev/camera-isp | |
312 | chmod 0660 /dev/camera-pipemgr | |
313 | chmod 0660 /dev/kd_camera_hw | |
314 | chmod 0660 /dev/kd_camera_flashlight | |
315 | chmod 0660 /dev/kd_camera_hw_bus2 | |
316 | chmod 0660 /dev/FM50AF | |
317 | ||
318 | chown system camera /dev/camera-sysram | |
319 | chown system camera /dev/camera-isp | |
320 | chown system camera /dev/camera-pipemgr | |
321 | chown system camera /dev/kd_camera_hw | |
322 | chown system camera /dev/kd_camera_flashlight | |
323 | chown system camera /dev/kd_camera_hw_bus2 | |
324 | chown system camera /dev/FM50AF | |
325 | ||
326 | #MATV | |
327 | chmod 0660 /dev/MATV | |
328 | chown system media /dev/MATV | |
329 | ||
330 | # otg_test | |
331 | chown root radio /dev/mt_otg_test | |
332 | chmod 0660 /dev/mt_otg_test | |
333 | ||
334 | # MDP | |
335 | chmod 0660 /dev/mt-mdp | |
336 | chown system media /dev/mt-mdp | |
337 | ||
338 | # G2D | |
339 | chmod 0660 /dev/mtkg2d | |
340 | chown system media /dev/mtkg2d | |
341 | ||
342 | #for eng mode | |
343 | chmod 0664 /dev/misc-sd | |
344 | ||
345 | chown system media /sys/bus/platform/drivers/mem_bw_ctrl/concurrency_scenario | |
346 | ||
347 | #mtk_sched | |
348 | chmod 0660 /dev/mtk_sched | |
349 | chown system media /dev/mtk_sched | |
350 | ||
351 | # End of adding by MTK drivers | |
352 | # ----------------------- | |
353 | ||
354 | # xlog | |
355 | start xlogboot | |
356 | ||
357 | # basic network init | |
358 | ifup lo | |
359 | hostname localhost | |
360 | domainname localdomain | |
361 | ||
362 | # set RLIMIT_NICE to allow priorities from 19 to -20 | |
363 | setrlimit 13 40 40 | |
364 | ||
365 | # Memory management. Basic kernel parameters, and allow the high | |
366 | # level system server to be able to adjust the kernel OOM driver | |
367 | # parameters to match how it is managing things. | |
368 | write /proc/sys/vm/overcommit_memory 1 | |
369 | write /proc/sys/vm/min_free_order_shift 4 | |
370 | chown root system /sys/module/lowmemorykiller/parameters/adj | |
371 | chmod 0664 /sys/module/lowmemorykiller/parameters/adj | |
372 | chown root system /sys/module/lowmemorykiller/parameters/minfree | |
373 | chmod 0664 /sys/module/lowmemorykiller/parameters/minfree | |
374 | ||
375 | # Tweak background writeout | |
376 | write /proc/sys/vm/dirty_expire_centisecs 100 | |
377 | write /proc/sys/vm/dirty_writeback_centisecs 300 | |
378 | write /proc/sys/vm/dirty_background_ratio 5 | |
379 | ||
380 | # Permissions for System Server and daemons. | |
381 | chown radio system /sys/android_power/state | |
382 | chown radio system /sys/android_power/request_state | |
383 | chown radio system /sys/android_power/acquire_full_wake_lock | |
384 | chown radio system /sys/android_power/acquire_partial_wake_lock | |
385 | chown radio system /sys/android_power/release_wake_lock | |
386 | chown system system /sys/power/autosleep | |
387 | chown system system /sys/power/state | |
388 | chown system system /sys/power/wakeup_count | |
389 | chown radio system /sys/power/wake_lock | |
390 | chown radio system /sys/power/wake_unlock | |
391 | ||
392 | chmod 0660 /sys/power/autosleep | |
393 | chmod 0660 /sys/power/state | |
394 | chmod 0660 /sys/power/wake_lock | |
395 | chmod 0660 /sys/power/wake_unlock | |
396 | chmod 0664 /sys/class/leds/lcd-backlight/brightness | |
397 | ||
398 | ||
399 | chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate | |
400 | chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate | |
401 | chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time | |
402 | chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time | |
403 | chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq | |
404 | chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq | |
405 | chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load | |
406 | chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load | |
407 | chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay | |
408 | chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay | |
409 | chown system system /sys/devices/system/cpu/cpufreq/interactive/boost | |
410 | chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost | |
411 | chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse | |
412 | chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost | |
413 | chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost | |
414 | ||
415 | # Set this property so surfaceflinger is not started by system_init | |
416 | setprop system_init.startsurfaceflinger 0 | |
417 | ||
418 | start kpoc_charger | |
419 | start console | |
420 | ||
421 | service drvbd /system/bin/drvbd | |
422 | class main | |
423 | user system | |
424 | group system | |
425 | ||
426 | service kpoc_charger /system/bin/kpoc_charger | |
427 | user root | |
428 | group root | |
429 | class charger | |
430 | disabled |