1# 2# Copyright (C) 2019 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 /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.usb.rc 18import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.diag.rc 19import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.logging.rc 20import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.mpssrfs.rc 21import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.power.rc 22import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.power_debug.rc 23 24service vendor.charger /system/bin/charger 25 class charger 26 seclabel u:r:charger:s0 27 user system 28 group system wakelock input 29 capabilities SYS_BOOT 30 file /dev/kmsg w 31 file /sys/fs/pstore/console-ramoops-0 r 32 file /sys/fs/pstore/console-ramoops r 33 file /proc/last_kmsg r 34 35on early-init 36 mount debugfs debugfs /sys/kernel/debug 37 chmod 0755 /sys/kernel/debug 38 39 # Disable EAS 40 write /proc/sys/kernel/sched_energy_aware 0 41 mount_all /vendor/etc/fstab.persist --early 42 43# Disable VDSO on JAWS boards. 44on early-init && property:ro.revision="DEV1.0" 45 write /sys/module/vdso/parameters/enable_32 0 46 47# Skip init trigger for charger mode 48on early-init && property:ro.boot.mode=charger 49 setprop vendor.skip.init 1 50 51on init && property:vendor.skip.init=0 52 # Disable powersaving 53 write /sys/module/lpm_levels/parameters/sleep_disabled 1 54 55 wait /dev/block/platform/${ro.boot.boot_devices} 56 symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice 57 58 # to access UFS/eMMC sysfs directly 59 symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice 60 61 # Disable UFS powersaving 62 write /dev/sys/block/bootdevice/clkgate_enable 0 63 64 # start qseecomd early as we mount system/ vendor/ early 65 # vold needs keymaster that needs qseecomd 66 start vendor.qseecomd 67 start keymaster-4-0 68 69 start vendor.citadeld 70 start vendor.keymaster-4-1-citadel 71 72 # Loading kernel modules in background 73 start insmod_sh 74 75 # bring back all cores 76 write /sys/devices/system/cpu/cpu0/online 1 77 write /sys/devices/system/cpu/cpu1/online 1 78 write /sys/devices/system/cpu/cpu2/online 1 79 write /sys/devices/system/cpu/cpu3/online 1 80 write /sys/devices/system/cpu/cpu4/online 1 81 write /sys/devices/system/cpu/cpu5/online 1 82 write /sys/devices/system/cpu/cpu6/online 1 83 write /sys/devices/system/cpu/cpu7/online 1 84 85 # configure governor settings for little cluster 86 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil 87 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500 88 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000 89 90 # configure governor settings for big cluster 91 write /sys/devices/system/cpu/cpu6/cpufreq/scaling_governor schedutil 92 write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/up_rate_limit_us 500 93 write /sys/devices/system/cpu/cpu6/cpufreq/schedutil/down_rate_limit_us 20000 94 95 # ZRAM setup 96 write /sys/block/zram0/comp_algorithm lz4 97 write /proc/sys/vm/page-cluster 0 98 99 # Some user code relies on ro.boot.hardware.revision 100 setprop ro.boot.hardware.revision ${ro.revision} 101 102 # set default schedTune value for foreground/top-app 103 write /dev/stune/foreground/schedtune.prefer_idle 1 104 write /dev/stune/top-app/schedtune.boost 10 105 write /dev/stune/top-app/schedtune.prefer_idle 1 106 107 # set default schedTune value for camera-daemon 108 write /dev/stune/camera-daemon/schedtune.prefer_idle 1 109 write /dev/stune/camera-daemon/schedtune.boost 0 110 111 # Allow PAI targeting per hardware SKU 112 setprop ro.oem.key1 ${ro.boot.hardware.sku} 113 114 # Report max frequency to unity tasks. 115 write /proc/sys/kernel/sched_lib_name "UnityMain,libunity.so" 116 write /proc/sys/kernel/sched_lib_mask_force 255 117 118 # Nfc streset tool name 119 setprop persist.vendor.nfc.streset libstreset 120 121on late-init 122 chown system system /sys/devices/virtual/thermal/tz-by-name/skin-therm-monitor/trip_point_0_temp 123 chown system system /sys/devices/virtual/thermal/tz-by-name/skin-therm-monitor/trip_point_0_hyst 124 chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_temp 125 chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_hyst 126 127on fs 128 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --early 129 130 mkdir /mnt/vendor/persist/audio 0770 media audio 131 mkdir /mnt/vendor/persist/data 0700 system system 132 mkdir /mnt/vendor/persist/display 0770 system graphics 133 mkdir /mnt/vendor/persist/haptics 0770 system system 134 mkdir /mnt/vendor/persist/rfs 0770 root system 135 mkdir /mnt/vendor/persist/hlos_rfs 0770 root system 136 mkdir /mnt/vendor/persist/touch 0770 system system 137 chmod 0770 /mnt/vendor/persist/rfs 138 chmod 0770 /mnt/vendor/persist/rfs/shared 139 chmod 0770 /mnt/vendor/persist/rfs/msm 140 chmod 0770 /mnt/vendor/persist/rfs/msm/adsp 141 chmod 0770 /mnt/vendor/persist/rfs/msm/mpss 142 chmod 0770 /mnt/vendor/persist/rfs/msm/slpi 143 chmod 0770 /mnt/vendor/persist/rfs/mdm 144 chmod 0770 /mnt/vendor/persist/rfs/mdm/adsp 145 chmod 0770 /mnt/vendor/persist/rfs/mdm/mpss 146 chmod 0770 /mnt/vendor/persist/rfs/mdm/slpi 147 chmod 0770 /mnt/vendor/persist/rfs/mdm/tn 148 chmod 0770 /mnt/vendor/persist/rfs/apq 149 chmod 0770 /mnt/vendor/persist/rfs/apq/gnss 150 chmod 0770 /mnt/vendor/persist/hlos_rfs 151 152 # for cycle count backup 153 mkdir /mnt/vendor/persist/battery 0700 system system 154 155 restorecon_recursive /mnt/vendor/persist 156 157on post-fs 158 # set RLIMIT_MEMLOCK to 64MB 159 setrlimit 8 67108864 67108864 160 161 # Wait qseecomd started 162 wait_for_prop vendor.sys.listeners.registered true 163 164 # load IPA FWs 165 # This must be started when vendor.sys.listeners.registered is true 166 write /dev/ipa 1 167 168on late-fs 169 # Start services for bootanim 170 #start color_init 171 #wait_for_prop vendor.display.native_display_primaries_ready 1 172 #setprop ro.surface_flinger.display_primary_red ${vendor.display.primary_red} 173 #setprop ro.surface_flinger.display_primary_green ${vendor.display.primary_green} 174 #setprop ro.surface_flinger.display_primary_blue ${vendor.display.primary_blue} 175 #setprop ro.surface_flinger.display_primary_white ${vendor.display.primary_white} 176 # Permission for hwcomposer 177 chown system system /sys/class/backlight/panel0-backlight/brightness 178 chown system system /sys/class/backlight/panel0-backlight/max_brightness 179 chown system system /sys/class/backlight/panel0-backlight/vr_mode 180 chown system system /sys/class/backlight/panel0-backlight/hbm_mode 181 start surfaceflinger 182 start bootanim 183 start vendor.hwcomposer-2-4 184 start vendor.configstore-hal 185 start vendor.qti.hardware.display.allocator 186 start vendor.light-1-1 187 188 # Wait for keymaster HALs (TEE and StrongBox) 189 exec_start wait_for_strongbox 190 191 192 # Mount RW partitions which need run fsck 193 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --late 194 195 # Required for time_daemon 196 mkdir /mnt/vendor/persist/time 0770 system system 197 chown system system /mnt/vendor/persist/time/ats_1 198 chown system system /mnt/vendor/persist/time/ats_2 199 chown system system /mnt/vendor/persist/time/ats_3 200 chown system system /mnt/vendor/persist/time/ats_4 201 chown system system /mnt/vendor/persist/time/ats_5 202 chown system system /mnt/vendor/persist/time/ats_6 203 chown system system /mnt/vendor/persist/time/ats_7 204 chown system system /mnt/vendor/persist/time/ats_8 205 chown system system /mnt/vendor/persist/time/ats_9 206 chown system system /mnt/vendor/persist/time/ats_10 207 chown system system /mnt/vendor/persist/time/ats_11 208 chown system system /mnt/vendor/persist/time/ats_12 209 chown system system /mnt/vendor/persist/time/ats_13 210 chown system system /mnt/vendor/persist/time/ats_14 211 chown system system /mnt/vendor/persist/time/ats_15 212 chown system system /mnt/vendor/persist/time/ats_16 213 214 # Start time daemon early so that the system time can be set early 215 start time_daemon 216 217 # Init sensor specific services 218 start init-sensors-sh 219 220 # turn off vblank irq immediately after turning off 221 write /sys/module/drm/parameters/vblankoffdelay -1 222 223 # Write build info to kdebuginfo. 224 write /sys/module/kdebuginfo/parameters/build_info "${ro.product.name}-${ro.build.type} ${ro.build.version.incremental}" 225 226on post-fs-data 227 mkdir /vendor/data/tombstones 0771 system system 228 mkdir /tombstones/modem 0771 system system 229 mkdir /tombstones/lpass 0771 system system 230 mkdir /tombstones/wcnss 0771 system system 231 mkdir /tombstones/dsps 0771 system system 232 mkdir /data/vendor/hbtp 0750 system system 233 mkdir /data/vendor/tloc 0700 system drmrpc 234 mkdir /data/vendor/nnhal 0700 system system 235 mkdir /data/vendor/time 0770 system system 236 mkdir /data/vendor/modem_fdr 0700 root system 237 mkdir /data/vendor/display 0770 system graphics 238 mkdir /data/vendor/camera 0770 system system 239 mkdir /data/vendor/rebootescrow 0770 hsm hsm 240 start vendor.rebootescrow-citadel 241 242on zygote-start 243 # zygote is started in common init.rc 244 # and now we can continue initialize /data/ 245 mkdir /data/vendor/ipa 0770 radio radio 246 chown radio radio /data/vendor/ipa 247 248 # Create the directories used by the Wireless subsystem 249 mkdir /data/vendor/wifi 0771 wifi wifi 250 mkdir /data/vendor/wifi/wpa 0770 wifi wifi 251 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi 252 253 # Create the directories used by CnE subsystem 254 mkdir /data/vendor/connectivity 0771 radio radio 255 chown radio radio /data/vendor/connectivity 256 257 # Create directory for radio 258 mkdir /data/vendor/radio 0773 system radio 259 mkdir /data/vendor/modem_stat 0771 system radio 260 write /data/vendor/modem_stat/debug.txt "" 261 chown system radio /data/vendor/modem_stat/debug.txt 262 chmod 0664 /data/vendor/modem_stat/debug.txt 263 264 # Mark the copy complete flag to not completed 265 write /data/vendor/radio/copy_complete 0 266 chown radio radio /data/vendor/radio/copy_complete 267 chmod 0660 /data/vendor/radio/copy_complete 268 269 # File flags for prebuilt ril db file 270 write /data/vendor/radio/prebuilt_db_support 1 271 chown radio radio /data/vendor/radio/prebuilt_db_support 272 chmod 0400 /data/vendor/radio/prebuilt_db_support 273 write /data/vendor/radio/db_check_done 0 274 chown radio radio /data/vendor/radio/db_check_done 275 chmod 0660 /data/vendor/radio/db_check_done 276 277 # Create directories for Location services 278 mkdir /data/vendor/location 0770 gps gps 279 mkdir /data/vendor/location/mq 0770 gps gps 280 mkdir /data/vendor/location/xtwifi 0770 gps gps 281 mkdir /dev/socket/location 0770 gps gps 282 mkdir /dev/socket/location/mq 0770 gps gps 283 mkdir /dev/socket/location/xtra 0770 gps gps 284 285 #Create directories for wifihal services 286 mkdir /dev/socket/wifihal 0770 wifi wifi 287 chmod 2770 /dev/socket/wifihal 288 289 # Create directory for audio delta files 290 mkdir /data/vendor/audio 0770 audio audio 291 mkdir /data/vendor/audio/acdbdata 0770 media audio 292 mkdir /data/vendor/audio/acdbdata/delta 0770 media audio 293 294on early-boot 295 # Set up sensors-related directories and permissions 296 chmod 775 /mnt/vendor/persist/sensors 297 chmod 664 /mnt/vendor/persist/sensors/sensors_settings 298 chown root system /mnt/vendor/persist/sensors/registry 299 chmod 775 /mnt/vendor/persist/sensors/registry 300 chown root system /mnt/vendor/persist/sensors/registry/registry 301 chmod 775 /mnt/vendor/persist/sensors/registry/registry 302 chmod 664 /mnt/vendor/persist/sensors/registry/registry/sensors_registry 303 chown system root /mnt/vendor/persist/sensors/sensors_settings 304 chown root root /mnt/vendor/persist/sensors/registry/registry/sensors_settings 305 306 mkdir /data/vendor/sensors 0770 307 chown system system /data/vendor/sensors 308 mkdir /data/vendor/sensors/log 0770 309 chown system system /data/vendor/sensors/log 310 311 # Restore SeLinux Context for preventing temp.json with 312 # incorrect security context 313 restorecon /mnt/vendor/persist/sensors/registry/temp.json 314 315 chmod 770 /mnt/vendor/persist/audio 316 chmod 660 /mnt/vendor/persist/audio/audio.cal 317 chown media audio /mnt/vendor/persist/audio 318 chown audioserver audio /mnt/vendor/persist/audio/audio.cal 319 320 # Set up haptics-related directories and permissions 321 chmod 770 /mnt/vendor/persist/haptics 322 chmod 440 /mnt/vendor/persist/haptics/drv2624.cal 323 chown system system /mnt/vendor/persist/haptics 324 chown system system /mnt/vendor/persist/haptics/drv2624.cal 325 326 # Set up touch directories and permissions 327 chmod 770 /mnt/vendor/persist/touch 328 chown system system /mnt/vendor/persist/touch 329 330 # Wait for insmod_sh to finish all modules 331 wait_for_prop vendor.all.modules.ready 1 332 333 # Wait for insmod_sh to finish all boot devices 334 wait_for_prop vendor.all.devices.ready 1 335 336 # Permission for Vibrator 337 chown system system /sys/class/leds/vibrator/device/mode 338 chown system system /sys/class/leds/vibrator/device/od_clamp 339 chown system system /sys/class/leds/vibrator/device/rtp_input 340 chown system system /sys/class/leds/vibrator/device/scale 341 chown system system /sys/class/leds/vibrator/device/set_sequencer 342 chown system system /sys/class/leds/vibrator/device/autocal_result 343 chown system system /sys/class/leds/vibrator/device/ctrl_loop 344 chown system system /sys/class/leds/vibrator/device/ol_lra_period 345 chown system system /sys/class/leds/vibrator/device/autocal 346 chown system system /sys/class/leds/vibrator/device/lp_trigger_effect 347 chown system system /sys/class/leds/vibrator/device/lra_wave_shape 348 write /sys/class/leds/vibrator/trigger transient 349 350 # Permission for Rainbow sensor 351 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_enable 352 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable 353 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_read_byte 354 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte 355 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte 356 chmod 0660 /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte 357 chown system system /dev/vd6281 358 chmod 0660 /dev/vd6281 359 360 # Permission for Athletico 361 chown system system /dev/sensor_tunnel 362 chmod 0660 /dev/sensor_tunnel 363 364 # Permission for camera sensor 365 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type 366 chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type 367 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type 368 chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type 369 370 # FG cycle count read from dumpstate + backup restore from health HAL (and pixelstats) 371 chown system system /sys/class/power_supply/maxfg/cycle_counts_bins 372 373 # Battery Defender 374 chown system system /sys/devices/platform/soc/soc:google,charger/charge_stop_level 375 chown system system /sys/devices/platform/soc/soc:google,charger/charge_start_level 376 chown system system /sys/devices/platform/soc/soc:google,charger/bd_clear 377 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_clear 378 379 # Charge stats (write 0) 380 chown system system /sys/class/power_supply/battery/charge_stats 381 382 # Permission for battery eeprom 383 chown system system /sys/devices/platform/soc/a8c000.i2c/i2c-2/2-0050/2-00500/nvmem 384 chmod 0640 /sys/devices/platform/soc/a8c000.i2c/i2c-2/2-0050/2-00500/nvmem 385 chown system system /dev/battery_history 386 chmod 0644 /dev/battery_history 387 388 # Permission for Pixelstats 389 chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right 390 chown system system /dev/sys/block/bootdevice/slowio_read_cnt 391 chown system system /dev/sys/block/bootdevice/slowio_write_cnt 392 chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt 393 chown system system /dev/sys/block/bootdevice/slowio_sync_cnt 394 395 # Permission for Health Storage HAL 396 chown system system /dev/sys/block/bootdevice/manual_gc 397 398 # Permissions for reading display native color gamut 399 chown system graphics /mnt/vendor/persist/display/native_gamut.csv 400 401on boot 402 # This location is used by QCRIL to host UNIX domain 403 # socket files used for internal IPC within QCRIL 404 # modules 405 mkdir /dev/socket/qmux_radio 0770 radio radio 406 chmod 2770 /dev/socket/qmux_radio 407 408 setprop wifi.interface wlan0 409 410 chown system system /sys/kernel/hbtp/display_pwr 411 start rfs_access 412 413 # default country code 414 setprop ro.boot.wificountrycode 00 415 416 # WLAN debug access 417 chown system system /d/icnss/stats 418 419service init-radio-sh /vendor/bin/init.radio.sh 420 class late_start 421 user radio 422 group root radio 423 oneshot 424 425on property:init.svc.vendor.charger=running 426 stop vendor.qseecomd 427 stop keymaster-4-0 428 429 setprop sys.usb.configfs 1 430 setprop vendor.setup.power 1 431 432 # keep one LITTLE and one big 433 write /sys/devices/system/cpu/cpu1/online 0 434 write /sys/devices/system/cpu/cpu2/online 0 435 write /sys/devices/system/cpu/cpu3/online 0 436 write /sys/devices/system/cpu/cpu4/online 0 437 write /sys/devices/system/cpu/cpu5/online 0 438 write /sys/devices/system/cpu/cpu7/online 0 439 440 # Enable thermal mitigation 441 write /sys/devices/virtual/thermal/tz-by-name/backup-charge/mode enabled 442 443on property:sys.boot_completed=1 444 setprop vendor.setup.power 1 445 446 # Permission for Pixelstats 447 chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode 448 chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments 449 450 # Back to default VM settings 451 write /proc/sys/vm/dirty_expire_centisecs 3000 452 write /proc/sys/vm/dirty_background_ratio 10 453 454 # Enable ZRAM on boot_complete 455 swapon_all /vendor/etc/fstab.${ro.boot.hardware.platform} 456 write /proc/sys/vm/swappiness 100 457 458 # Setup runtime cpusets 459 write /dev/cpuset/top-app/cpus 0-7 460 write /dev/cpuset/foreground/cpus 0-5,7 461 write /dev/cpuset/background/cpus 4-5 462 write /dev/cpuset/system-background/cpus 2-5 463 write /dev/cpuset/restricted/cpus 2-5 464 465 # Setup runtime blkio 466 # value for group_idle is us 467 write /dev/blkio/blkio.weight 1000 468 write /dev/blkio/background/blkio.weight 200 469 write /dev/blkio/blkio.group_idle 2000 470 write /dev/blkio/background/blkio.group_idle 0 471 472 # UFS health 473 chmod 755 /sys/kernel/debug/ufshcd0 474 chmod 644 /sys/kernel/debug/ufshcd0/show_hba 475 chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats 476 chmod 644 /sys/kernel/debug/ufshcd0/stats/io_stats 477 chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats 478 479 # HardwareInfo needs to be able to read display info 480 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display/panel_info/panel0/serial_number 481 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display/panel_info/panel0/panel_vendor_name 482 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display/panel_info/panel0/panel_extinfo 483 484 # Maxim FG dump for dumpstate 485 chown system system /sys/kernel/debug/regmap/1-0036/registers 486 chown system system /sys/kernel/debug/regmap/1-000b/registers 487 chown system system /sys/kernel/debug/google_battery/cycle_count_bins 488 chown system system /sys/kernel/debug/google_battery/ssoc_gdf 489 chown system system /sys/kernel/debug/google_battery/ssoc_rls 490 chown system system /sys/kernel/debug/google_battery/ssoc_uic 491 chown system system /sys/kernel/debug/google_battery/ssoc_uicurve 492 chown system system /sys/kernel/debug/google_charger/pps_op_ua 493 chown system system /sys/kernel/debug/google_charger/pps_out_uv 494 495 # Permission for bootloader logs 496 chown root log /proc/bldrlog 497 chmod 0444 /proc/bldrlog 498 499service vendor.per_mgr /vendor/bin/pm-service 500 class core 501 user system 502 group system 503 ioprio rt 4 504 505service per_proxy /vendor/bin/pm-proxy 506 class core 507 user system 508 group system 509 disabled 510 511on property:init.svc.vendor.per_mgr=running 512 start per_proxy 513 514on property:sys.shutdown.requested=* 515 stop per_proxy 516 517service vendor.qseecomd /vendor/bin/qseecomd 518 class core 519 user root 520 group root 521 522service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-engine-${ro.hardware}.conf 523 class main 524 user root 525 group root 526 527service init-sensors-sh /vendor/bin/init.sensors.sh 528 class main 529 user root 530 group root system 531 disabled 532 oneshot 533 534service vendor.adsprpcd /vendor/bin/adsprpcd 535 class main 536 user system 537 group media 538 539service vendor.adsprpcd_audiopd /vendor/bin/adsprpcd audiopd 540 class main 541 user media 542 group media 543 544service vendor.adsprpcd_sensorspd /vendor/bin/adsprpcd sensorspd 545 class main 546 user system 547 group system 548 549service vendor.cdsprpcd /vendor/bin/cdsprpcd 550 class main 551 user system 552 group system 553 554service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon 555 class main 556 user radio 557 socket ims_qmid stream 0660 system radio 558 group radio log diag 559 560service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon 561 class main 562 user radio 563 socket ims_datad stream 0660 system radio 564 group radio wifi inet log diag 565 disabled 566 567service vendor.imsrcsservice /system/vendor/bin/imsrcsd 568 class main 569 user radio 570 group radio diag inet log wakelock 571 572on property:vendor.ims.QMI_DAEMON_STATUS=1 573 start vendor.imsdatadaemon 574 575service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon 576 class main 577 user radio 578 group radio inet log 579 580service wait_for_strongbox /vendor/bin/hw/wait_for_strongbox 581 user root 582 group root system 583 priority -20 584 ioprio rt 0 585 586on property:vendor.ims.DATA_DAEMON_STATUS=1 587 restart vendor.ims_rtp_daemon 588 589service vendor.qrtr-ns /vendor/bin/qrtr-ns -f 590 class core 591 user vendor_qrtr 592 group vendor_qrtr 593 capabilities NET_BIND_SERVICE 594 595service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" 596 class core 597 user root 598 oneshot 599 600service tftp_server /vendor/bin/tftp_server 601 class core 602 user root 603 group root system 604 605service modem_svc /vendor/bin/modem_svc -q 606 class core 607 user root 608 group system 609 capabilities NET_BIND_SERVICE 610 611service vendor.ss_ramdump /vendor/bin/subsystem_ramdump 612 class main 613 user root 614 group system 615 disabled 616 617service vendor.ssr_setup /vendor/bin/ssr_setup 618 oneshot 619 disabled 620 621on property:persist.vendor.sys.ssr.restart_level=* 622 start vendor.ssr_setup 623 624on post-fs-data && property:persist.vendor.sys.ssr.enable_ramdumps=1 && property:vendor.skip.init=0 625 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 626 mkdir /data/vendor/wifidump 771 root system 627 mkdir /data/vendor/ramdump 771 root system 628 mkdir /data/vendor/ssrdump 771 root system 629 mkdir /data/vendor/ssrlog 775 root system 630 start vendor.ss_ramdump 631 start vendor.crash_event_logger 632 633on property:persist.vendor.sys.ssr.enable_ramdumps=0 634 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 635 636service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ 637 -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \ 638 -g@android:wpa_wlan0 639 # we will start as root and wpa_supplicant will switch to user wifi 640 # after setting up the capabilities required for WEXT 641 # user wifi 642 # group wifi inet keystore 643 interface aidl android.hardware.wifi.supplicant.ISupplicant/default 644 class main 645 socket wpa_wlan0 dgram 660 wifi wifi 646 disabled 647 oneshot 648 649on property:init.svc.vendor.hwcomposer-2-4=stopped 650 stop ppd 651 652on property:init.svc.vendor.hwcomposer-2-4=running 653 start ppd 654 655# charger driver exposes now finer grain control, map demo mode to those properties 656# NOTE: demo mode can only be exit wiping data (which reset the persist properties) 657on property:sys.retaildemo.enabled=1 658 setprop persist.vendor.charge.stop.level 35 659 setprop persist.vendor.charge.start.level 30 660 661# Test Harness Mode default battery profile. Restricted but not too restricted. 662on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=0 663 setprop persist.vendor.charge.stop.level 70 664 setprop persist.vendor.charge.start.level 35 665 setprop vendor.battery.defender.disable 1 666 667# Extremely restricted battery profile. 668on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=1 669 setprop persist.vendor.charge.stop.level 50 670 setprop persist.vendor.charge.start.level 35 671 setprop vendor.battery.defender.disable 1 672 673# Normal behavior (as if the device was a regular device) 674on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=2 675 setprop persist.vendor.charge.stop.level 100 676 setprop persist.vendor.charge.start.level 0 677 678# Unrestricted, allows charging to 100% 679on property:persist.sys.test_harness=1 && property:persist.vendor.testing_battery_profile=3 680 setprop persist.vendor.charge.stop.level 100 681 setprop persist.vendor.charge.start.level 0 682 setprop vendor.battery.defender.disable 1 683 684service insmod_sh /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.${ro.hardware}.cfg 685 class main 686 user root 687 group root system 688 disabled 689 oneshot 690 691service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf 692 socket msm_irqbalance seqpacket 660 root system 693 class core 694 user root 695 group root 696 task_profiles ServiceCapacityLow 697 698service pd_mapper /vendor/bin/pd-mapper 699 class core 700 user system 701 group system 702 capabilities NET_BIND_SERVICE 703 704service cnss-daemon /vendor/bin/cnss-daemon -n -l 705 class late_start 706 user system 707 group system inet wifi 708 709service loc_launcher /vendor/bin/loc_launcher 710 class late_start 711 user gps 712 group gps 713 714# bugreport is triggered by holding down volume down, volume up and power 715service bugreport /system/bin/dumpstate -d -p -z 716 class main 717 disabled 718 oneshot 719 keycodes 114 115 116 720 721on property:ro.boot.hardware.dsds=1 722 setprop persist.radio.multisim.config dsds 723 724# DSDS feature 725# Restart 1st qcrild after SIM config changed 726on property:vendor.radio.sim_num.switch=1to2 && property:persist.radio.multisim.config=dsds 727 restart vendor.qcrild 728 729on property:vendor.radio.sim_num.switch=2to1 && property:persist.radio.multisim.config= 730 restart vendor.qcrild 731 732# Enable 2nd qcrild when the property set to dsds 733on property:persist.radio.multisim.config=dsds 734 start vendor.qcrild2 735 736# For Japan radio builds, always enforce camera shutter sound 737# Since this property is read by the audio server in system service, 738# it should be written by the system init. 739on property:ro.boot.hardware.radio.subtype=1 740 setprop audio.camerasound.force true 741 742on property:persist.sys.device_provisioned=1 743 setprop dalvik.vm.dex2oat-cpu-set 0,1,2,3,4,5,7 744 setprop dalvik.vm.dex2oat-threads 6 745