blob: 12438e66cc00ec5260ba3f1234ea0892f423f338 [file] [log] [blame]
Patrick Tjinea3b3cd2015-03-31 10:38:39 -07001#
2# Copyright 2015 The Android Open Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
17import init.angler.usb.rc
18import init.angler.diag.rc
Patrick Tjind18dd242015-05-21 23:43:58 -070019import init.angler.sensorhub.rc
Patrick Tjinea3b3cd2015-03-31 10:38:39 -070020
21on early-init
22 mount debugfs debugfs /sys/kernel/debug
23 chown system system /sys/kernel/debug/kgsl/proc
24
25on init
Patrick Tjin435a3eb2015-06-10 11:37:52 -070026 # Load persistent dm-verity state
27 verity_load_state
28
Patrick Tjinea3b3cd2015-03-31 10:38:39 -070029 # Set permissions for persist partition
30 mkdir /persist 0771 system system
31 mkdir /firmware 0771 system system
32
33 # Support legacy paths
34 symlink /sdcard /mnt/sdcard
35 symlink /sdcard /storage/sdcard0
36
37on fs
Mekala Natarajanb3d739e2015-07-24 00:10:04 -070038 symlink /dev/block/platform/soc.0/f9824900.sdhci /dev/block/bootdevice
Patrick Tjinea3b3cd2015-03-31 10:38:39 -070039 mount_all ./fstab.angler
40
dcashman73d96702015-08-10 13:20:55 -070041 restorecon_recursive /persist
42
Naveen Ramaraj87018982015-04-24 21:10:40 -070043 # Enable rmnet data and aggregation
44 setprop persist.rmnet.mux enabled
45 setprop persist.rmnet.data.enable true
46 setprop persist.data.wda.enable true
47 setprop persist.data.df.agg.dl_pkt 10
48 setprop persist.data.df.agg.dl_size 4096
49
Patrick Tjinea3b3cd2015-03-31 10:38:39 -070050on early-boot
51 # set RLIMIT_MEMLOCK to 64MB
52 setrlimit 8 67108864 67108864
53
Patrick Tjin435a3eb2015-06-10 11:37:52 -070054 # Adjust parameters for dm-verity device
55 write /sys/block/dm-0/queue/read_ahead_kb 2048
56
57 # Update dm-verity state and set partition.*.verified properties
58 verity_update_state
59
Patrick Tjinea3b3cd2015-03-31 10:38:39 -070060on boot
Tim Murray6abb5fd2015-06-15 19:45:47 -070061 # execute script to set initial CPU settings
62 # don't run as a service to avoid race conditions
63 exec /system/bin/init.angler.power.sh
Zhihui Wu7d7b98c2015-04-24 00:40:19 -070064
Patrick Tjinea3b3cd2015-03-31 10:38:39 -070065 # Enable DEBUG_SUSPEND, DEBUG_EXIT_SUSPEND, and DEBUG_WAKEUP
66 write /sys/module/wakelock/parameters/debug_mask 7
67
Tim Murray4e53f232015-06-04 16:18:03 -070068 # update foreground cpuset now that processors are up
69 write /dev/cpuset/foreground/cpus 0-7
70 write /dev/cpuset/background/cpus 0
71
Patrick Tjinea3b3cd2015-03-31 10:38:39 -070072 # create symlink for fb1 as HDMI
73 symlink /dev/graphics/fb1 /dev/graphics/hdmi
74
75 # setup permissions for fb1 related nodes
76 chown system graphics /sys/class/graphics/fb1/hpd
77 chown system graphics /sys/class/graphics/fb1/vendor_name
78 chown system graphics /sys/class/graphics/fb1/product_description
79 chmod 0664 /sys/devices/virtual/graphics/fb1/hpd
80 chmod 0664 /sys/devices/virtual/graphics/fb1/vendor_name
81 chmod 0664 /sys/devices/virtual/graphics/fb1/product_description
82
Zhihui Wu9f08b862015-05-04 21:25:06 -070083 #config fingerprint
lijianzhao72688d42015-06-26 22:12:13 -070084 chown system system /sys/bus/spi/devices/spi12.0/spi_prepare
85 chown system system /sys/bus/spi/devices/spi12.0/wakeup_enable
86 chown system system /sys/bus/spi/devices/spi12.0/do_wakeup
Zhihui Wu9f08b862015-05-04 21:25:06 -070087
Naveen Ramaraj87018982015-04-24 21:10:40 -070088 #Create QMUX deamon socket
89 mkdir /dev/socket/qmux_radio 0770 radio radio
90 chmod 2770 /dev/socket/qmux_radio
91 mkdir /dev/socket/qmux_audio 0770 media audio
92 chmod 2770 /dev/socket/qmux_audio
93 mkdir /dev/socket/qmux_gps 0770 gps gps
94 chmod 2770 /dev/socket/qmux_gps
95
wang pingd69321a2015-05-13 00:11:24 +080096 setprop wifi.interface wlan0
97
wang ping123e0952015-07-27 21:24:03 -070098 #wifi sar
99 chown radio radio /sys/module/wifi_sar/parameters/wifi_tx_power_limit
100
lijianzhaoeed67ea2015-08-18 10:12:16 -0700101 #compass compensation
102 chown root system /sys/class/power_supply/battery/compass_compensation
103
Naveen Ramaraj87018982015-04-24 21:10:40 -0700104 write /sys/bus/platform/drivers/xhci_msm_hsic/unbind msm_hsic_host
105 write /sys/module/rmnet_usb/parameters/mux_enabled 1
106 write /sys/module/rmnet_usb/parameters/no_fwd_rmnet_links 8
107 write /sys/module/rmnet_usb/parameters/no_rmnet_insts_per_dev 17
108 write /sys/module/rmnet_usb/parameters/rmnet_data_init 1
109 chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
110
zhaoyang yin5e075be2015-07-08 21:48:47 +0800111 #audio prop
112 setprop persist.audio.dualmic.config endfire
113 setprop persist.audio.fluence.voicecall true
114 setprop persist.audio.product.identify angler
zhaoyang yin5f91f5e2015-07-11 07:41:34 +0800115 setprop persist.audio.fluence.speaker true
zhaoyang yin5e075be2015-07-08 21:48:47 +0800116
Patrick Tjinaec86752015-08-25 00:15:08 -0700117 # Leds
118 chown system system /sys/class/leds/red/on_off_ms
119 chown system system /sys/class/leds/green/on_off_ms
120 chown system system /sys/class/leds/blue/on_off_ms
121 chown system system /sys/class/leds/red/rgb_start
122
Naveen Ramaraj87018982015-04-24 21:10:40 -0700123on property:init.svc.per_mgr=running
124 start per_proxy
125
126on property:sys.shutdown.requested=*
127 stop per_proxy
128
Patrick Tjinea3b3cd2015-03-31 10:38:39 -0700129on post-fs-data
130 write /sys/kernel/boot_adsp/boot 1
131
132 # Ecc_Handler qcril.db
Sooraj Sasindranafa352f2015-06-19 11:12:19 -0700133 mkdir /data/misc/radio 0770 system radio
Patrick Tjinea3b3cd2015-03-31 10:38:39 -0700134
135 setprop vold.post_fs_data_done 1
136
Mekala Natarajaneb9c2a32015-04-27 11:01:22 -0700137 mkdir /data/misc/qsee 0770 system system
dcashman73d96702015-08-10 13:20:55 -0700138 mkdir /data/fpc 0700 system system
Mekala Natarajaneb9c2a32015-04-27 11:01:22 -0700139
zhihui wuc17b9dc2015-07-24 23:21:14 -0700140 # Create a link /dev/stm_sensor for input device which name is "STM VL6180 proximity sensor"
141 exec /system/bin/init.angler.laser.sh
142
Zhihui Wu7055b3e2015-05-13 18:14:46 -0700143 #Create folder for mm-qcamera-daemon
144 mkdir /data/misc/camera 0770 camera camera
145
Naseer Ahmed1b0f56a2015-07-09 16:46:40 -0400146 #Create folder for display calibration data
147 mkdir /data/misc/display 0770 system graphics
148
Naveen Ramaraj4517b042015-07-29 20:02:42 -0700149 # Create /data/time folder for time-services
150 mkdir /data/time/ 0700 system system
151 mkdir /data/audio/ 0770 media audio
152
153 # Create folder for perf daemon
154 mkdir /data/misc/perfd 0755 root system
155 chmod 2755 /data/misc/perfd
156 mkdir /data/system/perfd 0770 root system
157 rm /data/system/perfd/default_values
158 chmod 2770 /data/system/perfd
159 setprop ro.min_freq_0 384000
160 setprop ro.min_freq_4 384000
161
Zhihui Wu5dd2b472015-05-20 16:31:35 -0700162 # Create the directories used by CnE subsystem
163 mkdir /data/connectivity 0771 system system
164 chown system system /data/connectivity
165
166 #Create directory from IMS services
167 mkdir /data/shared 0755
168 chown system system /data/shared
169
Naveen Ramaraj4517b042015-07-29 20:02:42 -0700170 # Mark the copy complete flag to not completed
171 write /data/misc/radio/copy_complete 0
172 chown radio radio /data/misc/radio/copy_complete
173 chmod 0660 /data/misc/radio/copy_complete
Zhenhua Ma786d29b2015-06-04 13:22:50 +0800174
wang pingdc7ea962015-05-09 00:37:27 +0800175 # Configure bluetooth
176 chmod 0660 /proc/bluetooth/sleep/lpm
177 chmod 0660 /proc/bluetooth/sleep/btwrite
178 chmod 0660 /sys/class/rfkill/rfkill0/state
179 chmod 0660 /dev/ttyHS0
180 chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm
181 chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite
182 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
183 chown bluetooth net_bt_stack /dev/ttyHS0
184
wang ping0684e522015-05-20 22:58:34 +0800185 # Create nfc local data
186 mkdir /data/nfc 0770 nfc nfc
187
zhaoyang yin2928a3c2015-06-04 20:00:12 +0800188 #modify access for speaker calibdata
189 chown system system /persist/audio/speaker_calibdata.bin
190 chmod 0444 /persist/audio/speaker_calibdata.bin
191
zhihui wu81580032015-07-27 17:19:25 -0700192 #modify access for laser calibration data
193 chmod 0710 /persist/data
194 chmod 0440 /persist/data/st_offset
195 chmod 0440 /persist/data/st_xtalk
196
Patrick Tjinea3b3cd2015-03-31 10:38:39 -0700197on charger
Zhihui Wu13d03c62015-04-23 22:06:27 -0700198 #low power governing
zhen yuanf33b6422015-08-11 04:35:35 +0800199 write /sys/devices/soc.0/qcom,bcl.60/mode disable
200 write /sys/devices/soc.0/qcom,bcl.60/hotplug_mask 0
201 write /sys/devices/soc.0/qcom,bcl.60/hotplug_soc_mask 0
Zhihui Wu13d03c62015-04-23 22:06:27 -0700202 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
203 write /sys/devices/system/cpu/cpu1/online 0
204 write /sys/devices/system/cpu/cpu2/online 0
205 write /sys/devices/system/cpu/cpu3/online 0
206 write /sys/devices/system/cpu/cpu4/online 0
207 write /sys/devices/system/cpu/cpu5/online 0
208 write /sys/devices/system/cpu/cpu6/online 0
209 write /sys/devices/system/cpu/cpu7/online 0
210
Mekala Natarajan4f299632015-07-17 00:21:29 -0700211on property:sys.boot_completed=1
212 #allow CPUs to go in deeper idle state than C0
213 write /sys/module/lpm_levels/parameters/sleep_disabled 0
214
Zhenhua Ma739e45e2015-07-01 13:36:39 +0800215service ssr_setup /system/bin/ssr_setup
216 oneshot
217 disabled
218
219service ss_ramdump /system/bin/subsystem_ramdump
220 class main
221 user system
222 group system
223 disabled
224
225on property:persist.sys.ssr.restart_level=*
226 start ssr_setup
227
228on property:persist.sys.ssr.enable_ramdumps=1
229 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
230 start ss_ramdump
231
232on property:persist.sys.ssr.enable_ramdumps=0
233 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
234
Zhihui Wu13d03c62015-04-23 22:06:27 -0700235service charger /sbin/healthd -c
236 class charger
237 group log
238 seclabel u:r:healthd:s0
Patrick Tjinea3b3cd2015-03-31 10:38:39 -0700239
Naveen Ramaraj87018982015-04-24 21:10:40 -0700240service per_mgr /system/bin/pm-service
241 class core
242 user root
243 group system net_raw
244
245service per_proxy /system/bin/pm-proxy
246 class core
247 user root
248 group system net_raw
249 disabled
250
251service rmt_storage /system/bin/rmt_storage
252 class core
253 user root
dcashman6ac5c822015-08-14 11:43:14 -0700254 group system
Naveen Ramaraj87018982015-04-24 21:10:40 -0700255
Mekala Natarajaneb9c2a32015-04-27 11:01:22 -0700256service qseecomd /system/bin/qseecomd
257 class core
258 user root
259 group root
260
Naveen Ramaraj87018982015-04-24 21:10:40 -0700261service irsc_util /system/bin/irsc_util "/etc/sec_config"
262 class main
263 user root
264 oneshot
265
Naveen Ramaraj910680c2015-05-04 10:45:49 -0700266service thermal-engine /system/bin/thermal-engine
267 class main
268 user root
269 socket thermal-send-client stream 0660 system system
270 socket thermal-recv-client stream 0660 system system
271 socket thermal-recv-passive-client stream 0660 system system
dcashmana170fa32015-08-14 15:09:25 -0700272 group root radio
Naveen Ramaraj910680c2015-05-04 10:45:49 -0700273
Naveen Ramaraj87018982015-04-24 21:10:40 -0700274# QMUX must be in multiple groups to support external process connections
275service qmuxd /system/bin/qmuxd
276 class main
Tom Cherry858f6312015-06-05 11:07:58 -0700277 user radio
278 group radio audio bluetooth gps
Naveen Ramaraj87018982015-04-24 21:10:40 -0700279
Naveen Ramaraj84aa57d2015-06-11 18:37:03 -0700280service perfd /system/bin/perfd
281 class main
282 user root
283
Naveen Ramaraj87018982015-04-24 21:10:40 -0700284service netmgrd /system/bin/netmgrd
Ajay Dudani1faa3d32015-06-22 11:12:09 -0700285 class main
Naveen Ramaraj87018982015-04-24 21:10:40 -0700286 group radio
Naveen Ramaraj87018982015-04-24 21:10:40 -0700287
Zhihui Wu384b2222015-05-19 13:42:18 -0700288service qti /system/vendor/bin/qti
289 class main
290 user radio
291 group radio net_raw usb net_admin
Zhihui Wu384b2222015-05-19 13:42:18 -0700292
Naveen Ramaraj87018982015-04-24 21:10:40 -0700293service time_daemon /system/bin/time_daemon
294 class late_start
295 user root
296 group root
297
Mekala Natarajan19925592015-05-04 10:19:48 -0700298service loc_launcher /system/bin/loc_launcher
299 class late_start
300 group gps inet net_raw net_admin wifi
301
Patrick Tjinea3b3cd2015-03-31 10:38:39 -0700302# bugreport is triggered by holding down volume down, volume up and power
303service bugreport /system/bin/dumpstate -d -p -B \
304 -o /data/data/com.android.shell/files/bugreports/bugreport
305 class main
306 disabled
307 oneshot
308 keycodes 114 115 116
Zhihui Wu7055b3e2015-05-13 18:14:46 -0700309
310# start camera server as daemon
311service qcamerasvr /system/bin/mm-qcamera-daemon
312 class late_start
313 user camera
314 group camera system inet input graphics
Vineeta Srivastavaf6ab59a2015-05-20 17:29:44 -0700315
316service fingerprintd /system/bin/fingerprintd
317 class late_start
318 user system
lijianzhao72688d42015-06-26 22:12:13 -0700319 group input
wang pingd69321a2015-05-13 00:11:24 +0800320
321service p2p_supplicant /system/bin/wpa_supplicant \
322 -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
323 -I/system/etc/wifi/p2p_supplicant_overlay.conf \
324 -O/data/misc/wifi/sockets \
325 -m/data/misc/wifi/p2p_supplicant.conf \
326 -puse_p2p_group_interface=1p2p_device=1 \
327 -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
328 class main
329 socket wpa_wlan0 dgram 660 wifi wifi
330 disabled
331 oneshot
332
333service wpa_supplicant /system/bin/wpa_supplicant \
334 -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
335 -I/system/etc/wifi/wpa_supplicant_overlay.conf \
336 -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
337 class main
338 socket wpa_wlan0 dgram 660 wifi wifi
339 disabled
340 oneshot
341
342service dhcpcd_wlan0 /system/bin/dhcpcd -aABKL
343 class main
344 disabled
345 oneshot
346
347service dhcpcd_p2p /system/bin/dhcpcd -aABKL
348 class main
349 disabled
350 oneshot
351
352service iprenew_wlan0 /system/bin/dhcpcd -n
353 class main
354 disabled
355 oneshot
356
357service iprenew_p2p /system/bin/dhcpcd -n
358 class main
359 disabled
360 oneshot
Zhihui Wu5dd2b472015-05-20 16:31:35 -0700361
wang1f7df762015-06-19 18:14:47 +0800362service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
363 class main
364 disabled
365 oneshot
366
367service iprenew_bt-pan /system/bin/dhcpcd -n
368 class main
369 disabled
370 oneshot
371
Zhihui Wu5dd2b472015-05-20 16:31:35 -0700372service imsqmidaemon /system/bin/imsqmidaemon
373 class main
374 user system
375 socket ims_qmid stream 0660 system radio
376 group radio net_raw log diag
377
378service imsdatadaemon /system/bin/imsdatadaemon
379 class main
380 user system
381 socket ims_datad stream 0660 system radio
382 group system wifi radio inet net_raw log diag net_admin
383 disabled
384
385on property:sys.ims.QMI_DAEMON_STATUS=1
386 start imsdatadaemon
387
388service ims_rtp_daemon /system/bin/ims_rtp_daemon
389 class main
390 user system
391 socket ims_rtpd stream 0660 system radio
392 group radio net_raw diag diag log
393 disabled
394
395on property:sys.ims.DATA_DAEMON_STATUS=1
396 start ims_rtp_daemon
397
398service imscmservice /system/bin/imscmservice
399 class main
400 user system
401 group radio net_raw diag diag log
402
403service cnd /system/bin/cnd
404 class late_start
405 socket cnd stream 660 root inet
Patrick Tjin435a3eb2015-06-10 11:37:52 -0700406
wang ping04252d82015-06-10 22:55:51 -0700407on property:ro.boot.hardware.revision=ANGLER-V1
408 write /sys/module/bcmdhd/parameters/nvram_path \
409 /system/etc/wifi/bcmdhd-pme.cal
410
411on property:ro.boot.hardware.revision=ANGLER-V2
412 write /sys/module/bcmdhd/parameters/nvram_path \
413 /system/etc/wifi/bcmdhd-pme.cal
Zhenhua Ma786d29b2015-06-04 13:22:50 +0800414
415service mcfg-sh /system/bin/sh /system/etc/init.mcfg.sh
416 class late_start
417 user root
418 oneshot
renjie zhao0de37582015-06-05 14:22:37 +0800419
420service oem_qmi_server /vendor/bin/oem_qmi_server
renjie zhaob56cfa92015-07-23 11:17:05 +0800421 class main
renjie zhao0de37582015-06-05 14:22:37 +0800422 user root
Riley Andrewsa1399722015-06-22 15:53:18 -0700423
424service msm_irqbalance /system/bin/msm_irqbalance -f /system/etc/msm_irqbalance.conf
425 socket msm_irqbalance seqpacket 660 root system
426 class core
427 user root
428 group root
zhangmingzhenff53d442015-07-06 17:54:11 +0800429
430#start atfwd as daemon
431service atfwd /system/bin/ATFWD-daemon
432 class late_start
433 user system
434 group system radio
435
Naseer Ahmed1b0f56a2015-07-09 16:46:40 -0400436service ppd /system/bin/mm-pp-daemon
437 class late_start
438 user system
439 socket pps stream 0660 system system
440 group system graphics
441
442on property:init.svc.surfaceflinger=stopped
443 stop ppd
renjie zhao57797562015-07-18 11:58:58 +0800444
445service diag_test_server /vendor/bin/diag_test_server
446 class core
447 user root
448 disabled
449
450on property:ro.boot.mode=hw-factory
451 start diag_test_server
452