1on charger
2    write /sys/devices/system/cpu/cpu2/online 0
3    write /sys/devices/system/cpu/cpu3/online 0
4    write /sys/module/lpm_levels/parameters/sleep_disabled 0
5    wait /dev/block/platform/soc/624000.ufshc
6
7service charger /charger
8    class charger
9    seclabel u:r:charger:s0
10
11on early-init
12    mount debugfs debugfs /sys/kernel/debug
13    chmod 0755 /sys/kernel/debug
14
15on init
16    # We have vendor/ as early mount so we can start qseecomd earlier
17    # early mount partions e.g. vendor/ will be mounted in init first stage
18    # see b/27805372
19    start qseecomd
20
21    # Support legacy paths
22    symlink /sdcard /mnt/sdcard
23    symlink /sdcard /storage/sdcard0
24
25    # Setup cpusets used by the VR services.
26    mkdir /dev/cpuset/kernel 0750 root system
27    write /dev/cpuset/kernel/cpus 0
28    write /dev/cpuset/kernel/mems 0
29    chown system system /dev/cpuset/kernel/tasks
30    chmod 0660 /dev/cpuset/kernel/tasks
31
32    mkdir /dev/cpuset/system 0750 root system
33    write /dev/cpuset/system/cpus 0
34    write /dev/cpuset/system/mems 0
35    chown system system /dev/cpuset/system/tasks
36    chmod 0660 /dev/cpuset/system/tasks
37
38    mkdir /dev/cpuset/system/performance 0750 root system
39    write /dev/cpuset/system/performance/cpus 0
40    write /dev/cpuset/system/performance/mems 0
41    chown system system /dev/cpuset/system/performance/tasks
42    chmod 0660 /dev/cpuset/system/performance/tasks
43
44    mkdir /dev/cpuset/system/background 0750 root system
45    write /dev/cpuset/system/background/cpus 0
46    write /dev/cpuset/system/background/mems 0
47    chown system system /dev/cpuset/system/background/tasks
48    chmod 0660 /dev/cpuset/system/background/tasks
49
50    mkdir /dev/cpuset/application 0750 root system
51    write /dev/cpuset/application/cpus 0
52    write /dev/cpuset/application/mems 0
53    chown system system /dev/cpuset/application/tasks
54    chmod 0660 /dev/cpuset/application/tasks
55
56    mkdir /dev/cpuset/application/performance 0750 root system
57    write /dev/cpuset/application/performance/cpus 0
58    write /dev/cpuset/application/performance/mems 0
59    chown system system /dev/cpuset/application/performance/tasks
60    chmod 0660 /dev/cpuset/application/performance/tasks
61
62    mkdir /dev/cpuset/application/background 0750 root system
63    write /dev/cpuset/application/background/cpus 0
64    write /dev/cpuset/application/background/mems 0
65    chown system system /dev/cpuset/application/background/tasks
66    chmod 0660 /dev/cpuset/application/background/tasks
67
68    # set default schedTune value for foreground/top-app (only affects EAS)
69    write /dev/stune/foreground/schedtune.prefer_idle 1
70    write /dev/stune/top-app/schedtune.boost 10
71    write /dev/stune/top-app/schedtune.prefer_idle 1
72
73    # Create UDS structure for base VR services.
74    mkdir /dev/socket/pdx 0775 system system
75    mkdir /dev/socket/pdx/system 0775 system system
76    mkdir /dev/socket/pdx/system/buffer_hub 0775 system system
77    mkdir /dev/socket/pdx/system/performance 0775 system system
78    mkdir /dev/socket/pdx/system/vr 0775 system system
79    mkdir /dev/socket/pdx/system/vr/display 0775 system system
80    mkdir /dev/socket/pdx/system/vr/pose 0775 system system
81    mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
82
83    # ZRAM setup
84    write /sys/block/zram0/comp_algorithm lz4
85    write /proc/sys/vm/page-cluster 0
86
87on fs
88    wait /dev/block/platform/soc/${ro.boot.bootdevice}
89    symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
90
91    mount_all /vendor/etc/fstab.${ro.hardware} --early
92    swapon_all /vendor/etc/fstab.${ro.hardware}
93
94    # Keeping following partitions outside fstab file. As user may not have
95    # these partition flashed on the device. Failure to mount any partition in fstab file
96    # results in failure to launch late-start class.
97
98    wait /dev/block/platform/soc/624000.ufshc/sda18
99    mount ext4 /dev/block/platform/soc/624000.ufshc/by-name/cache /cache nosuid nodev noatime barrier=1
100
101    wait /dev/block/platform/soc/624000.ufshc/sda8
102    mount ext4 /dev/block/platform/soc/624000.ufshc/by-name/persist /persist nosuid nodev noatime barrier=1
103    restorecon_recursive /persist
104    mkdir /persist/data 0700 system system
105
106    # Start HW service manager early
107    start hwservicemanager
108
109on post-fs
110    symlink /dev/block/platform/soc.0/f9824900.sdhci /dev/block/bootdevice
111    # Wait qseecomd started
112    wait_for_prop sys.listeners.registered true
113
114on late-fs
115    # Start devices by sysfs trigger
116    start devstart_sh
117
118    # Start services for bootanim
119    start surfaceflinger
120    start bootanim
121    start hwcomposer-2-1
122    start configstore-hal-1-0
123    start gralloc-2-0
124
125    # Mount RW partitions which need run fsck
126    mount_all /vendor/etc/fstab.${ro.hardware} --late
127
128    # boot time fs tune
129    write /sys/block/sda/queue/iostats 0
130    write /sys/block/sda/queue/scheduler cfq
131    write /sys/block/sda/queue/iosched/slice_idle 0
132    write /sys/block/sda/queue/read_ahead_kb 2048
133    write /sys/block/sda/queue/nr_requests 256
134    write /sys/block/dm-0/queue/read_ahead_kb 2048
135    write /sys/block/dm-1/queue/read_ahead_kb 2048
136
137    # Start time daemon early so that the system time can be set early
138    start time_daemon
139
140on post-fs-data
141    # We can start netd here before in is launched in common init.rc on zygote-start
142    start netd
143    # Set sku property
144    start mid_sh
145    # Restart qseecomd once we have /data/
146    restart qseecomd
147    # Wait until the system time is set
148    wait_for_prop sys.time.set true
149
150    # b/36601397 Setup debug folders for camera
151    mkdir /data/vendor/camera 0770 camera camera
152
153# zygote need to be started after otapreopt which will be done on post-fs-data
154on zygote-start
155    # zygote is started in common init.rc
156    # and now we can continue initialize /data/
157    mkdir /data/tombstones 0771 system system
158    mkdir /tombstones/modem 0771 system system
159    mkdir /tombstones/lpass 0771 system system
160    mkdir /tombstones/wcnss 0771 system system
161    mkdir /tombstones/dsps 0771 system system
162    mkdir /persist/data/sfs 0700 system system
163    mkdir /persist/data/tz 0700 system system
164    mkdir /data/misc/dts 0770 media audio
165    mkdir /data/misc/tloc/ 0700 system drmrpc
166    mkdir /data/misc/qvop 0660 system system
167    mkdir /data/misc/audio_pp 0771 media audio
168    mkdir /data/preloads 0775 system system
169    mkdir /data/preloads/media 0775 system system
170    mkdir /data/preloads/demo 0775 system system
171    mkdir /data/misc/netmgr 0770 system radio
172
173    # Disable verbosity for sensorhub
174    write /d/sps/debug_level_option 4
175    write /d/sps/log_level_sel 4
176    # Write to the base address of BAM pipe
177    write /d/sps/bam_addr 122961920
178
179    # Create directory for TZ Apps
180    mkdir /data/misc/qsee 0770 system system
181
182    mkdir /data/media 0770 media_rw media_rw
183    chown media_rw media_rw /data/media
184
185    mkdir /data/misc/ipa 0700 net_admin net_admin
186
187    # Create the directories used by the Wireless subsystem
188    mkdir /data/misc/wifi 0770 wifi wifi
189    mkdir /data/misc/wifi/sockets 0770 wifi wifi
190    mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
191    mkdir /data/misc/dhcp 0770 dhcp dhcp
192    chown dhcp dhcp /data/misc/dhcp
193
194    # Create port-bridge log dir
195    mkdir /data/misc/port_bridge 0770 radio radio
196    chmod 0770 /data/misc/port_bridge
197
198    # Create the directories used by CnE subsystem
199    mkdir /data/connectivity 0771 system system
200    chown system system /data/connectivity
201
202    # Create the directories used by DPM subsystem
203    mkdir /data/dpm 0771 system system
204    chown system system /data/dpm
205
206    mkdir /data/dpm/nsrm 0771 system system
207    chown system system /data/dpm/nsrm
208
209    # Create directory used by audio subsystem
210    mkdir /data/misc/audio 0770 audio audio
211
212    # Create directory for audio delta files
213    mkdir /data/misc/audio/acdbdata 0770 media audio
214    mkdir /data/misc/audio/acdbdata/delta 0770 media audio
215
216    # Create directory used by the DASH client
217    mkdir /data/misc/dash 0770 media audio
218
219    # Create directory used by display clients
220    mkdir /data/misc/display 0770 system graphics
221    mkdir /persist/display 0770 system graphics
222
223    # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
224    # We chown/chmod /persist again so because mount is run as root + defaults
225    chown system system /persist
226    chmod 0771 /persist
227    chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
228    chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
229    chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
230    chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
231
232    # Chown polling nodes as needed from UI running on system server
233    chown system system /sys/devices/platform/msm_sdcc.1/polling
234    chown system system /sys/devices/platform/msm_sdcc.2/polling
235    chown system system /sys/devices/platform/msm_sdcc.3/polling
236    chown system system /sys/devices/platform/msm_sdcc.4/polling
237
238    # Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
239    mkdir /data/system 0775 system system
240
241    # Create directories for Location services
242    mkdir /data/misc/location 0770 gps gps
243    mkdir /data/misc/location/mq 0770 gps gps
244    mkdir /data/misc/location/xtwifi 0770 gps gps
245    mkdir /data/misc/location/gpsone_d 0770 system gps
246    mkdir /data/misc/location/quipc 0770 gps system
247    mkdir /data/misc/location/gsiff 0770 gps gps
248
249    # migrating the GNSS hal to vendor requires this to be relabeled; the
250    # directory itself is created by /vendor/bin/xtra-daemon
251    chown gps gps /data/misc/location/xtra
252    chmod 0750 /data/misc/location/xtra
253    chown gps gps /data/misc/location/xtra/socket_hal_xtra
254    chmod 0660 /data/misc/location/xtra/socket_hal_xtra
255    chown gps gps /data/misc/location/xtra/xtra.sqlite
256
257    # Create directory from IMS services
258    mkdir /data/shared 0755
259    chown system system /data/shared
260
261    # Create directory for FOTA
262    mkdir /data/fota 0771
263    chown system system /data/fota
264
265    # Create /data/time folder for time-services
266    mkdir /data/time/ 0700 system system
267
268    mkdir /data/audio/ 0770 media audio
269
270    # Create a folder for audio delta files
271    mkdir /data/audio/acdbdata 0770 media audio
272    mkdir /data/audio/acdbdata/delta 0770 media audio
273
274    setprop vold.post_fs_data_done 1
275
276    # Create FM dir for patchdownloader
277    mkdir /data/misc/fm 0770 system system
278    chmod 0770 /data/misc/fm
279
280    # RIDL data
281    mkdir /data/misc/SelfHost/ 0710 system shell
282    mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell
283    mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell
284    mkdir /data/misc/SelfHost/storage/ 0700 system shell
285    mkdir /data/misc/SelfHost/Running/ 2750 system shell
286    mkdir /data/misc/SelfHost/socket/ 2770 system system
287
288    # Create PERFD deamon related dirs
289    setprop ro.min_freq_0 384000
290    mkdir /data/misc/perfd 0755 root system
291    chmod 2755 /data/misc/perfd
292    mkdir /data/system/perfd 0770 root system
293    rm /data/system/perfd/default_values
294    chmod 2770 /data/system/perfd
295
296    # NFC local data and nfcee xml storage
297    mkdir /data/nfc 0770 nfc nfc
298    mkdir /data/vendor/nfc 0770 nfc nfc
299    mkdir /data/nfc/param 0770 nfc nfc
300
301    # Create IOP deamon related dirs
302    mkdir /data/misc/iop 0770 root system
303
304    # Mark the copy complete flag to not completed
305    write /data/misc/radio/copy_complete 0
306    chown radio radio /data/misc/radio/copy_complete
307    chmod 0660 /data/misc/radio/copy_complete
308
309    # File flags for prebuilt ril db file
310    write /data/misc/radio/prebuilt_db_support 1
311    chown radio radio /data/misc/radio/prebuilt_db_support
312    chmod 0400 /data/misc/radio/prebuilt_db_support
313    write /data/misc/radio/db_check_done 0
314    chown radio radio /data/misc/radio/db_check_done
315    chmod 0660 /data/misc/radio/db_check_done
316
317    chown system system /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
318    chmod 0660 /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
319    chown system system /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
320    chmod 0660 /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
321    chown system system /sys/class/devfreq/soc:qcom,gpubw/min_freq
322    chmod 0660 /sys/class/devfreq/soc:qcom,gpubw/min_freq
323
324on early-boot
325    # set RLIMIT_MEMLOCK to 64MB
326    setrlimit 8 67108864 67108864
327    # Allow subsystem (modem etc) debugging
328    write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}
329    write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
330    write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
331    write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
332    # Update dm-verity state and set partition.*.verified properties
333    verity_update_state
334
335    # access permission for secure touch
336    chmod 0660 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable
337    chmod 0440 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch
338
339    chmod 0664 /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en
340    chown system graphics /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en
341
342    chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable
343    chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch
344
345    # Permission for laser sensor driver
346    chown camera camera /sys/class/htc_laser/laser/enable_ps_sensor
347
348    # Permission for LED driver
349    chown system system /sys/class/leds/red/on_off_ms
350    chown system system /sys/class/leds/green/on_off_ms
351    chown system system /sys/class/leds/blue/on_off_ms
352    chown system system /sys/class/leds/red/rgb_start
353    chown system system /sys/class/leds/green/rgb_start
354    chown system system /sys/class/leds/blue/rgb_start
355    chown system system /sys/class/leds/lcd-backlight/low_persistence
356
357    # Permission for vibrator amplitude
358    chown system system /sys/class/timed_output/vibrator/voltage_level
359
360    # wait for devices
361    wait_for_prop sys.qcom.devup 1
362
363on boot
364    # Exec init.mid.sh and init.foreground.sh in background
365    start power_sh
366    start foreground_sh
367    # add a cpuset for the camera daemon
368    # we want all cores for camera
369    mkdir /dev/cpuset/camera-daemon
370    write /dev/cpuset/camera-daemon/cpus 0-3
371    write /dev/cpuset/camera-daemon/mems 0
372    chown system system /dev/cpuset/camera-daemon
373    chown system system /dev/cpuset/camera-daemon/tasks
374    chmod 0664 /dev/cpuset/camera-daemon/tasks
375
376    # Update DVR cpusets to boot-time values.
377    write /dev/cpuset/kernel/cpus 0-3
378    write /dev/cpuset/system/cpus 0-3
379    write /dev/cpuset/system/performance/cpus 0-3
380    write /dev/cpuset/system/background/cpus 0-3
381    write /dev/cpuset/system/cpus 0-3
382    write /dev/cpuset/application/cpus 0-3
383    write /dev/cpuset/application/performance/cpus 0-3
384    write /dev/cpuset/application/background/cpus 0-3
385    write /dev/cpuset/application/cpus 0-3
386
387    # Bluetooth
388    chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
389    chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
390    chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
391    chown bluetooth bluetooth /proc/bluetooth/sleep/proto
392    chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm
393    chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite
394    chown system system /sys/module/sco/parameters/disable_esco
395    chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
396    chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
397    chmod 0660 /sys/module/bluetooth_power/parameters/power
398    chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
399    chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set
400    chmod 0660 /sys/class/rfkill/rfkill0/state
401    chmod 0660 /proc/bluetooth/sleep/proto
402    chown bluetooth net_bt /dev/ttyHS0
403    chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
404    chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
405    chmod 0660 /dev/ttyHS0
406    chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock
407    chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
408
409    chmod 0660 /dev/ttyHS2
410    chown bluetooth bluetooth /dev/ttyHS2
411
412    chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
413    chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
414
415    # Create QMUX deamon socket area
416    mkdir /dev/socket/qmux_radio 0770 radio radio
417    chmod 2770 /dev/socket/qmux_radio
418    mkdir /dev/socket/qmux_audio 0770 media audio
419    chmod 2770 /dev/socket/qmux_audio
420    mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
421    chmod 2770 /dev/socket/qmux_bluetooth
422    mkdir /dev/socket/qmux_gps 0770 gps gps
423    chmod 2770 /dev/socket/qmux_gps
424
425    mkdir /persist/drm 0770 system system
426
427    # Create NETMGR daemon socket area
428    mkdir /dev/socket/netmgr 0750 radio radio
429
430    setprop wifi.interface wlan0
431
432    # Define TCP buffer sizes for various networks
433    # ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
434    setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576
435
436    setprop ro.telephony.call_ring.multiple false
437
438    # Remove SUID bit for iproute2 ip tool
439    chmod 0755 /system/bin/ip
440
441    chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
442
443    # For bridgemgr daemon to inform the USB driver of the correct transport
444    chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
445
446    # For port-bridge daemon
447    chown radio radio /dev/at_mdm0
448    chown radio radio /dev/at_usb0
449
450    # Define TCP buffer sizes for various networks
451    # ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
452    setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208
453    setprop net.tcp.buffersize.lte     2097152,4194304,8388608,262144,524288,1048576
454    setprop net.tcp.buffersize.umts    4094,87380,110208,4096,16384,110208
455    setprop net.tcp.buffersize.hspa    4094,87380,1220608,4096,16384,1220608
456    setprop net.tcp.buffersize.hsupa   4094,87380,1220608,4096,16384,1220608
457    setprop net.tcp.buffersize.hsdpa   4094,87380,1220608,4096,16384,1220608
458    setprop net.tcp.buffersize.hspap   4094,87380,1220608,4096,16384,1220608
459    setprop net.tcp.buffersize.edge    4093,26280,35040,4096,16384,35040
460    setprop net.tcp.buffersize.gprs    4092,8760,11680,4096,8760,11680
461    setprop net.tcp.buffersize.evdo    4094,87380,524288,4096,16384,262144
462
463    setprop net.tcp.2g_init_rwnd 10
464
465    # Assign TCP buffer thresholds to be ceiling value of technology maximums
466    # Increased technology maximums should be reflected here.
467    write /proc/sys/net/core/rmem_max  8388608
468    write /proc/sys/net/core/wmem_max  8388608
469
470    # To prevent out of order acknowledgements from making
471    # connection tracking to treat them as not belonging to
472    # the connection they belong to.
473    # Otherwise, a weird issue happens in which some long
474    # connections on high-throughput links get dropped when
475    # an ack packet comes out of order
476    write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
477
478    # Allow access for CCID command/response timeout configuration
479    chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
480
481    # bond0 used by FST Manager
482    chown wifi wifi /sys/class/net/bond0/bonding/queue_id
483
484    write /proc/sys/net/ipv6/conf/default/accept_ra_defrtr 1
485
486    # bluetooth init
487    setprop ro.qualcomm.bluetooth.opp true
488    setprop ro.qualcomm.bluetooth.hfp true
489    setprop ro.qualcomm.bluetooth.hsp true
490    setprop ro.qualcomm.bluetooth.pbap true
491    setprop ro.qualcomm.bluetooth.ftp true
492    setprop ro.qualcomm.bluetooth.nap true
493    setprop ro.bluetooth.sap true
494    setprop ro.bluetooth.dun true
495    setprop ro.qualcomm.bluetooth.map true
496    setprop ro.bluetooth.hfp.ver 1.6
497
498    # Wifi firmware reload path
499    chown wifi wifi /sys/module/wlan/parameters/fwpath
500
501on property:wc_transport.start_hci=true
502    start start_hci_filter
503
504on property:wc_transport.start_hci=false
505    stop start_hci_filter
506
507service start_hci_filter /vendor/bin/wcnss_filter
508    class late_start
509    user bluetooth
510    group bluetooth diag
511    disabled
512
513on property:wc_transport.start_root=true
514    start hci_filter_root
515
516on property:wc_transport.start_root=false
517    stop hci_filter_root
518
519service hci_filter_root /vendor/bin/wcnss_filter
520    class late_start
521    user bluetooth
522    group bluetooth diag system
523    disabled
524
525service per_mgr /vendor/bin/pm-service
526    class core
527    user system
528    group system
529    ioprio rt 4
530
531service per_proxy /vendor/bin/pm-proxy
532    class core
533    user system
534    group system
535    disabled
536
537on property:ro.build.type=userdebug
538   write /sys/class/uio/uio1/device/rtel/rtel 1
539
540on property:init.svc.per_mgr=running
541    start per_proxy
542
543on property:sys.shutdown.requested=*
544    stop per_proxy
545    # Disable subsystem restart
546    write /sys/module/subsystem_restart/parameters/disable_restart_work 0x9889deed
547
548service qseecomd /vendor/bin/qseecomd
549   class core
550   user root
551   group root
552
553service thermal-engine /vendor/bin/thermal-engine -c ${sys.qcom.thermalcfg:-/vendor/etc/thermal-engine.conf}
554   class main
555   user root
556   group root system
557   socket thermal-send-client stream 0666 system system
558   socket thermal-recv-client stream 0660 system system
559   socket thermal-recv-passive-client stream 0666 system system
560
561service time_daemon /vendor/bin/time_daemon
562   class core
563   user root
564   group root
565
566service adsprpcd /vendor/bin/adsprpcd
567   class main
568   user media
569   group media
570
571service imsqmidaemon /vendor/bin/imsqmidaemon
572    class main
573    user system
574    socket ims_qmid stream 0660 system radio
575    group radio log diag
576
577service imsdatadaemon /vendor/bin/imsdatadaemon
578    class main
579    user system
580    socket ims_datad stream 0660 system radio
581    group system wifi radio inet log diag
582    disabled
583
584on property:sys.ims.QMI_DAEMON_STATUS=1
585    start imsdatadaemon
586
587service ims_rtp_daemon /vendor/bin/ims_rtp_daemon
588   class main
589   user system
590   socket ims_rtpd stream 0660 system radio
591   group radio diag inet log
592   disabled
593
594service imscmservice /vendor/bin/imscmservice
595   class main
596   user system
597   group radio diag diag log
598   disabled
599
600on property:sys.ims.DATA_DAEMON_STATUS=1
601   start ims_rtp_daemon
602   start imscmservice
603
604service ssr_setup /vendor/bin/ssr_setup
605    class main
606    user root
607    group root system
608    oneshot
609
610service ss_ramdump /vendor/bin/subsystem_ramdump
611    class main
612    user root
613    group root system
614    disabled
615
616on property:persist.sys.ssr.enable_ramdumps=1
617    write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
618    mkdir /data/vendor/ramdump 761 root system
619    start ss_ramdump
620
621on property:persist.sys.ssr.enable_ramdumps=0
622    write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
623
624service iop /system/bin/iop
625    class main
626    user root
627    group root
628    disabled
629
630service cnd /vendor/bin/cnd
631    user root
632    group root inet wakelock
633    class late_start
634    socket cnd stream 660 root inet
635
636service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
637    class core
638    user root
639    oneshot
640
641service rmt_storage /vendor/bin/rmt_storage
642    class core
643    user root
644    group root system wakelock
645    ioprio rt 1
646
647service port-bridge /vendor/bin/port-bridge
648    class main
649    user radio
650    group radio system inet
651    oneshot
652
653service qmiproxy /vendor/bin/qmiproxy
654    class main
655    user radio
656    group radio diag
657    disabled
658
659service netmgrd /vendor/bin/netmgrd
660    class main
661    user root
662    group root wifi wakelock radio inet
663
664service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
665    -ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
666    -I/vendor/etc/wifi/p2p_supplicant_overlay.conf -N \
667    -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
668    -I/vendor/etc/wifi/wpa_supplicant_overlay.conf \
669    -O/data/misc/wifi/sockets -puse_p2p_group_interface=1 \
670    -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
671#   we will start as root and wpa_supplicant will switch to user wifi
672#   after setting up the capabilities required for WEXT
673#   user wifi
674#   group wifi inet keystore
675    class main
676    socket wpa_wlan0 dgram 660 wifi wifi
677    disabled
678    oneshot
679
680service cnss-daemon /vendor/bin/cnss-daemon -n -l
681    class late_start
682    user system
683    group system inet wifi
684
685service loc_launcher /vendor/bin/loc_launcher
686    #loc_launcher will start as root and set its uid to gps
687    class late_start
688    group gps inet diag wifi
689
690service init-radio-sh /vendor/bin/init.radio.sh
691    class late_start
692    user radio
693    group root radio
694    oneshot
695
696service msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf
697    socket msm_irqbalance seqpacket 660 root system
698    class core
699    user root
700    group root
701    writepid /dev/cpuset/system-background/tasks
702
703service atfwd /vendor/bin/ATFWD-daemon
704    class late_start
705    user system
706    group system radio
707    disabled
708
709service ssr_diag /vendor/bin/ssr_diag
710    class late_start
711    user system
712    group system
713    disabled
714
715service diag_mdlog_start /vendor/bin/diag_mdlog
716    class late_start
717    user shell
718    group system diag sdcard_rw sdcard_r media_rw
719    disabled
720    oneshot
721
722service diag_mdlog_stop /vendor/bin/diag_mdlog -k
723    class late_start
724    user shell
725    group system diag sdcard_rw sdcard_r media_rw
726    disabled
727    oneshot
728
729service perfd /vendor/bin/perfd
730   class main
731   user root
732   group root system
733   writepid /dev/cpuset/system-background/tasks
734
735# bugreport is triggered by holding down volume down, volume up and power
736service bugreport /system/bin/dumpstate -d -p -B -z \
737        -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
738    class main
739    disabled
740    oneshot
741    keycodes 114 115 116
742
743on property:sys.boot_completed=1
744    # update cpusets now that boot is complete and we want better load balancing
745    write /dev/cpuset/top-app/cpus 0-3
746    write /dev/cpuset/foreground/boost/cpus 0-2
747    write /dev/cpuset/foreground/cpus 0-2
748    write /dev/cpuset/background/cpus 0
749    write /dev/cpuset/system-background/cpus 0-2
750
751    # Update DVR cpusets to runtime values.
752    write /dev/cpuset/kernel/cpus 0,1
753    write /dev/cpuset/system/performance/cpus 2
754    write /dev/cpuset/system/background/cpus 0
755    write /dev/cpuset/system/cpus 0,2
756    write /dev/cpuset/application/performance/cpus 3
757    write /dev/cpuset/application/background/cpus 1
758    write /dev/cpuset/application/cpus 1,3
759
760    # end boot time fs tune
761    write /sys/block/sda/queue/read_ahead_kb 512
762    write /sys/block/sda/queue/nr_requests 128
763    write /sys/block/dm-0/queue/read_ahead_kb 128
764    write /sys/block/dm-1/queue/read_ahead_kb 128
765    write /sys/block/sda/queue/iostats 1
766
767on property:sys.boot_completed=1 && property:ro.build.type=user
768    write /proc/sys/kernel/modules_disabled 1
769
770# battery driver settings for the retail demo environment where
771# the device will be perpertually plugged in to a power source
772on property:sys.retaildemo.enabled=1
773    write /sys/class/power_supply/battery/full_level_dis_batt_chg 35
774
775on property:sys.retaildemo.enabled=0
776    write /sys/class/power_supply/battery/full_level_dis_batt_chg 100
777
778service devstart_sh /vendor/bin/init.qcom.devstart.sh
779    class main
780    user root
781    group root system
782    disabled
783    oneshot
784
785service foreground_sh /vendor/bin/init.foreground.sh
786    class main
787    user root
788    group root system readproc
789    disabled
790    oneshot
791
792service power_sh /vendor/bin/init.power.sh
793    class main
794    user root
795    group root system
796    disabled
797    oneshot
798
799service mid_sh /vendor/bin/init.mid.sh
800    class main
801    user root
802    group root system
803    disabled
804    oneshot
805