1 # 2 # Copyright (C) 2016 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 17 import /vendor/etc/init/hw/init.${ro.hardware}.usb.rc 18 19 on charger 20 write /sys/devices/system/cpu/cpu2/online 0 21 write /sys/devices/system/cpu/cpu3/online 0 22 write /sys/devices/system/cpu/cpu4/online 0 23 write /sys/devices/system/cpu/cpu5/online 0 24 write /sys/devices/system/cpu/cpu6/online 0 25 write /sys/devices/system/cpu/cpu7/online 0 26 wait /dev/block/platform/soc/${ro.boot.bootdevice} 27 # Enable UFS powersaving 28 write /sys/devices/soc/${ro.boot.bootdevice}/clkscale_enable 1 29 write /sys/devices/soc/${ro.boot.bootdevice}/clkgate_enable 1 30 write /sys/class/typec/port0/port_type sink 31 write /sys/module/lpm_levels/parameters/sleep_disabled N 32 33 service vendor.charger /charger 34 class charger 35 seclabel u:r:charger:s0 36 37 on early-init 38 mount debugfs debugfs /sys/kernel/debug 39 chmod 0755 /sys/kernel/debug 40 # Loading kernel modules in background 41 start vendor.insmod_sh 42 43 on init 44 # Disable UFS powersaving 45 write /sys/devices/soc/${ro.boot.bootdevice}/clkscale_enable 0 46 write /sys/devices/soc/${ro.boot.bootdevice}/clkgate_enable 0 47 write /sys/module/lpm_levels/parameters/sleep_disabled Y 48 49 # QSEE rpmb listener need symlink for bootdevice 50 wait /dev/block/platform/soc/${ro.boot.bootdevice} 51 symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice 52 53 # start qseecomd early as we mount system/ vendor/ early 54 # vold needs keymaster that needs qseecomd 55 start vendor.qseecomd 56 57 # Support legacy paths 58 symlink /sdcard /mnt/sdcard 59 symlink /sdcard /storage/sdcard0 60 61 # disable thermal hotplug for thermal 62 write /sys/module/msm_thermal/core_control/enabled 0 63 64 # bring back all cores 65 write /sys/devices/system/cpu/cpu0/online 1 66 write /sys/devices/system/cpu/cpu1/online 1 67 write /sys/devices/system/cpu/cpu2/online 1 68 write /sys/devices/system/cpu/cpu3/online 1 69 write /sys/devices/system/cpu/cpu4/online 1 70 write /sys/devices/system/cpu/cpu5/online 1 71 write /sys/devices/system/cpu/cpu6/online 1 72 write /sys/devices/system/cpu/cpu7/online 1 73 # configure governor settings for little cluster 74 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "schedutil" 75 write /sys/devices/system/cpu/cpufreq/policy0/schedutil/up_rate_limit_us 500 76 write /sys/devices/system/cpu/cpufreq/policy0/schedutil/down_rate_limit_us 20000 77 78 # configure governor settings for big cluster 79 write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor "schedutil" 80 write /sys/devices/system/cpu/cpufreq/policy4/schedutil/up_rate_limit_us 500 81 write /sys/devices/system/cpu/cpufreq/policy4/schedutil/down_rate_limit_us 20000 82 83 # set default schedTune value for foreground/top-app 84 write /dev/stune/foreground/schedtune.prefer_idle 1 85 write /dev/stune/top-app/schedtune.boost 10 86 write /dev/stune/top-app/schedtune.prefer_idle 1 87 88 # Setup cpusets used by the VR services. 89 mkdir /dev/cpuset/kernel 0750 root system 90 write /dev/cpuset/kernel/cpus 0 91 write /dev/cpuset/kernel/mems 0 92 chown system system /dev/cpuset/kernel/tasks 93 chmod 0660 /dev/cpuset/kernel/tasks 94 95 mkdir /dev/cpuset/system 0750 root system 96 write /dev/cpuset/system/cpus 0 97 write /dev/cpuset/system/mems 0 98 chown system system /dev/cpuset/system/tasks 99 chmod 0660 /dev/cpuset/system/tasks 100 101 mkdir /dev/cpuset/system/performance 0750 root system 102 write /dev/cpuset/system/performance/cpus 0 103 write /dev/cpuset/system/performance/mems 0 104 chown system system /dev/cpuset/system/performance/tasks 105 chmod 0660 /dev/cpuset/system/performance/tasks 106 107 mkdir /dev/cpuset/system/background 0750 root system 108 write /dev/cpuset/system/background/cpus 0 109 write /dev/cpuset/system/background/mems 0 110 chown system system /dev/cpuset/system/background/tasks 111 chmod 0660 /dev/cpuset/system/background/tasks 112 113 mkdir /dev/cpuset/application 0750 root system 114 write /dev/cpuset/application/cpus 0 115 write /dev/cpuset/application/mems 0 116 chown system system /dev/cpuset/application/tasks 117 chmod 0660 /dev/cpuset/application/tasks 118 119 mkdir /dev/cpuset/application/performance 0750 root system 120 write /dev/cpuset/application/performance/cpus 0 121 write /dev/cpuset/application/performance/mems 0 122 chown system system /dev/cpuset/application/performance/tasks 123 chmod 0660 /dev/cpuset/application/performance/tasks 124 125 mkdir /dev/cpuset/application/background 0750 root system 126 write /dev/cpuset/application/background/cpus 0 127 write /dev/cpuset/application/background/mems 0 128 chown system system /dev/cpuset/application/background/tasks 129 chmod 0660 /dev/cpuset/application/background/tasks 130 131 # Create UDS structure for base VR services. 132 mkdir /dev/socket/pdx 0775 system system 133 mkdir /dev/socket/pdx/system 0775 system system 134 mkdir /dev/socket/pdx/system/buffer_hub 0775 system system 135 mkdir /dev/socket/pdx/system/performance 0775 system system 136 mkdir /dev/socket/pdx/system/vr 0775 system system 137 mkdir /dev/socket/pdx/system/vr/display 0775 system system 138 mkdir /dev/socket/pdx/system/vr/pose 0775 system system 139 mkdir /dev/socket/pdx/system/vr/sensors 0775 system system 140 141 # Disable retention 142 write /sys/module/lpm_levels/system/pwr/cpu0/ret/idle_enabled N 143 write /sys/module/lpm_levels/system/pwr/cpu1/ret/idle_enabled N 144 write /sys/module/lpm_levels/system/pwr/cpu2/ret/idle_enabled N 145 write /sys/module/lpm_levels/system/pwr/cpu3/ret/idle_enabled N 146 write /sys/module/lpm_levels/system/perf/cpu4/ret/idle_enabled N 147 write /sys/module/lpm_levels/system/perf/cpu5/ret/idle_enabled N 148 write /sys/module/lpm_levels/system/perf/cpu6/ret/idle_enabled N 149 write /sys/module/lpm_levels/system/perf/cpu7/ret/idle_enabled N 150 write /sys/module/lpm_levels/system/pwr/pwr-l2-dynret/idle_enabled N 151 write /sys/module/lpm_levels/system/pwr/pwr-l2-ret/idle_enabled N 152 write /sys/module/lpm_levels/system/perf/perf-l2-dynret/idle_enabled N 153 write /sys/module/lpm_levels/system/perf/perf-l2-ret/idle_enabled N 154 155 # b/37682684 Enable suspend clock reporting 156 write /sys/kernel/debug/clk/debug_suspend 1 157 158 # ZRAM setup 159 write /sys/block/zram0/comp_algorithm lz4 160 write /proc/sys/vm/page-cluster 0 161 162 on fs 163 # Start HW service manager early 164 start hwservicemanager 165 mount_all /vendor/etc/fstab.${ro.hardware} --early 166 167 mkdir /persist/data 0700 system system 168 mkdir /persist/display 0770 system graphics 169 mkdir /persist/rfs 0770 root system 170 mkdir /persist/hlos_rfs 0770 root system 171 mkdir /persist/elabel 0700 system system 172 chmod 0770 /persist/rfs 173 chmod 0770 /persist/rfs/shared 174 chmod 0770 /persist/rfs/msm 175 chmod 0770 /persist/rfs/msm/adsp 176 chown system system /persist/rfs/msm/adsp 177 chmod 0770 /persist/rfs/msm/mpss 178 chown system system /persist/rfs/msm/mpss 179 mkdir /persist/rfs/msm/slpi 0770 system system 180 chmod 0770 /persist/rfs/mdm 181 chmod 0770 /persist/rfs/mdm/adsp 182 chown system system /persist/rfs/mdm/adsp 183 chmod 0770 /persist/rfs/mdm/mpss 184 chown system system /persist/rfs/mdm/mpss 185 mkdir /persist/rfs/mdm/slpi 0770 system system 186 chmod 0770 /persist/rfs/mdm/sparrow 187 chown system system /persist/rfs/mdm/sparrow 188 mkdir /persist/rfs/mdm/tn 0770 system system 189 chmod 0770 /persist/rfs/apq 190 chmod 0770 /persist/rfs/apq/gnss 191 chmod 0770 /persist/hlos_rfs 192 193 # for android.hardware.health (at] 2.0-service.marlin cycle count backup 194 mkdir /persist/battery 0700 system system 195 196 restorecon_recursive /persist 197 198 on late-fs 199 # Start devices by sysfs trigger 200 start vendor.devstart_sh 201 # Start services for bootanim 202 start surfaceflinger 203 start bootanim 204 start vendor.hwcomposer-2-1 205 start vendor.configstore-hal 206 start vendor.gralloc-2-0 207 208 # Wait for hwservicemanager ready since fsck might be triggered in mount_all --late 209 # In such case, init won't responce the property_set from hwservicemanager and then 210 # cause services for bootanim not running. 211 wait_for_prop hwservicemanager.ready true 212 # Mount RW partitions which need run fsck 213 mount_all /vendor/etc/fstab.${ro.hardware} --late 214 215 # Required for time_daemon 216 mkdir /persist/time 0770 system system 217 218 # Start time daemon early so that the system time can be set early 219 start vendor.time_daemon 220 221 on post-fs 222 # set RLIMIT_MEMLOCK to 64MB 223 setrlimit 8 67108864 67108864 224 225 chmod 0664 /sys/devices/virtual/graphics/fb0/idle_time 226 chown system graphics /sys/devices/virtual/graphics/fb0/idle_time 227 write /sys/devices/virtual/graphics/fb0/idle_time 100 228 229 # Wait qseecomd started 230 wait_for_prop sys.listeners.registered true 231 232 on property:sys.user.0.ce_available=true 233 mkdir /data/misc_ce/0/ramoops 234 start vendor.ramoops_sh 235 236 on property:sys.ramoops.decrypted=true 237 mount pstore pstore /sys/fs/pstore 238 chown system log /sys/fs/pstore 239 chown system log /sys/fs/pstore/console-ramoops 240 chmod 0440 /sys/fs/pstore/console-ramoops 241 chown system log /sys/fs/pstore/console-ramoops-0 242 chmod 0440 /sys/fs/pstore/console-ramoops-0 243 chown system log /sys/fs/pstore/pmsg-ramoops-0 244 chmod 0440 /sys/fs/pstore/pmsg-ramoops-0 245 246 on property:sys.listeners.registered=true 247 # load IPA FWs 248 start vendor.ipastart_sh 249 250 on post-fs-data 251 # We can start netd here before in is launched in common init.rc on zygote-start 252 start netd 253 254 # b/38048356 Setup debug folders for camera 255 mkdir /data/vendor/camera 0770 camera camera 256 257 # b/38496103 Setup debug folders for display 258 mkdir /data/vendor/display 0770 system graphics 259 260 # keep that at the end of on post-fs-data 261 # Set indication (checked by vold) that we have finished this action 262 setprop vold.post_fs_data_done 1 263 264 # Wait until the system time is set 265 wait_for_prop sys.time.set true 266 267 # zygote need to be started after otapreopt which will be done on post-fs-data 268 on zygote-start 269 # zygote is started in common init.rc 270 # and now we can continue to initialize /data/ 271 mkdir /data/tombstones 0771 system system 272 mkdir /tombstones/modem 0771 system system 273 mkdir /tombstones/lpass 0771 system system 274 mkdir /tombstones/wcnss 0771 system system 275 mkdir /tombstones/dsps 0771 system system 276 mkdir /data/misc/qvop 0660 system system 277 mkdir /data/misc/hbtp 0750 system system 278 mkdir /data/misc/seemp 0700 system system 279 280 # Create directory for TZ Apps 281 mkdir /data/misc/qsee 0770 system system 282 283 mkdir /data/media 0770 media_rw media_rw 284 chown media_rw media_rw /data/media 285 286 mkdir /data/vendor/ipa 0770 radio radio 287 chown radio radio /data/vendor/ipa 288 289 # Create the directories used by the Wireless subsystem 290 mkdir /data/misc/wifi 0770 wifi wifi 291 mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi 292 mkdir /data/vendor/wifi 0771 wifi wifi 293 mkdir /data/vendor/wifi/wpa 0770 wifi wifi 294 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi 295 mkdir /data/misc/dhcp 0770 dhcp dhcp 296 chown dhcp dhcp /data/misc/dhcp 297 298 # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections 299 # We chown/chmod /persist again so because mount is run as root + defaults 300 chown root system /persist 301 chmod 0771 /persist 302 chown system system /persist/WCNSS_qcom_wlan_nv.bin 303 304 # Create directory for hostapd 305 mkdir /data/hostapd 0770 system wifi 306 307 # Trigger WLAN driver load 308 write /sys/kernel/boot_wlan/boot_wlan 1 309 310 #create port-bridge log dir 311 mkdir /data/misc/port_bridge 0770 radio radio 312 chmod 0770 /data/misc/port_bridge 313 314 #create netmgr log dir 315 mkdir /data/vendor/netmgr 0771 radio radio 316 chmod 0771 /data/vendor/netmgr 317 318 # Create the directories used by CnE subsystem 319 mkdir /data/connectivity 0771 system system 320 chown system system /data/connectivity 321 322 # Create the directories used by DPM subsystem 323 mkdir /data/dpm 0771 system system 324 chown system system /data/dpm 325 326 mkdir /data/dpm/nsrm 0771 system system 327 chown system system /data/dpm/nsrm 328 329 # Create directory used by audio subsystem 330 mkdir /data/vendor/audio 0770 audio audio 331 332 # Create directory for audio delta files 333 mkdir /data/vendor/audio/acdbdata 0770 media audio 334 mkdir /data/vendor/audio/acdbdata/delta 0770 media audio 335 336 # Create directory used by the DASH client 337 mkdir /data/misc/dash 0770 media audio 338 339 # Create directory for radio 340 mkdir /data/vendor/radio 0771 system radio 341 342 # Create directory used by display clients 343 mkdir /data/misc/display 0770 system graphics 344 345 # Create perfd related dirs 346 mkdir /data/system/perfd 0770 root system 347 chmod 2770 /data/system/perfd 348 349 # Setup sensors-related directories and permissions 350 mkdir /persist/sensors 0775 351 chown root system /persist/sensors 352 write /persist/sensors/sensors_settings 1 353 chown root system /persist/sensors/sensors_settings 354 chmod 664 /persist/sensors/sensors_settings 355 chown root system /persist/sensors/sns.reg 356 chmod 664 /persist/sensors/sns.reg 357 358 mkdir /data/vendor/sensors 0770 359 chown system system /data/vendor/sensors 360 361 # These files might have been created by root from a prior build - make sure 362 # they are accessible to the sensors daemon 363 chown system system /data/vendor/sensors/cal.bin 364 chown system system /data/vendor/sensors/cal.txt 365 366 # /dev/sensors only supports an ioctl to get the current SLPI timestamp; 367 # allow the sensors daemon to perform this as non-root 368 chown root system /dev/sensors 369 chmod 660 /dev/sensors 370 371 # Mark the copy complete flag to not completed 372 write /data/vendor/radio/copy_complete 0 373 chown radio radio /data/vendor/radio/copy_complete 374 chmod 0660 /data/vendor/radio/copy_complete 375 376 # File flags for prebuilt ril db file 377 write /data/vendor/radio/prebuilt_db_support 1 378 chown radio radio /data/vendor/radio/prebuilt_db_support 379 chmod 0400 /data/vendor/radio/prebuilt_db_support 380 write /data/vendor/radio/db_check_done 0 381 chown radio radio /data/vendor/radio/db_check_done 382 chmod 0660 /data/vendor/radio/db_check_done 383 384 # Create directories for Location services 385 mkdir /data/vendor/location 0770 gps gps 386 mkdir /data/vendor/location/mq 0770 gps gps 387 mkdir /data/vendor/location/xtwifi 0770 gps gps 388 389 # NFC local data and nfcee xml storage 390 mkdir /data/vendor/nfc 0770 nfc nfc 391 392 # b/62837579 elabel directory 393 mkdir /data/misc/elabel 0700 system system 394 395 # Setup permission for powerHAL 396 chown system system /dev/stune/top-app/schedtune.boost 397 chown system system /dev/cpu_dma_latency 398 chown system system /sys/class/kgsl/kgsl-3d0/devfreq/min_freq 399 chown system system /sys/class/kgsl/kgsl-3d0/devfreq/max_freq 400 chown system system /sys/class/devfreq/soc:qcom,gpubw/min_freq 401 chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/min_freq 402 403 on early-boot 404 # wait for devices 405 wait_for_prop sys.qcom.devup 1 406 # wait for insmod_sh to finish all modules 407 wait_for_prop sys.all.modules.ready 1 408 # Update dm-verity state and set partition.*.verified properties 409 verity_update_state 410 411 # Permission for laser sensor driver 412 chown camera camera /sys/class/wahoo_laser/laser/enable_ps_sensor 413 414 # Permission for Vibrator 415 chown system system /sys/class/leds/vibrator/device/mode 416 chown system system /sys/class/leds/vibrator/device/od_clamp 417 chown system system /sys/class/leds/vibrator/device/rtp_input 418 chown system system /sys/class/leds/vibrator/device/scale 419 chown system system /sys/class/leds/vibrator/device/set_sequencer 420 chown system system /sys/class/leds/vibrator/device/autocal_result 421 chown system system /sys/class/leds/vibrator/device/ctrl_loop 422 chown system system /sys/class/leds/vibrator/device/ol_lra_period 423 chown system system /sys/class/leds/vibrator/device/autocal 424 chown system system /sys/class/leds/vibrator/device/lp_trigger_effect 425 426 # Permission for LED driver 427 chown system system /sys/class/leds/red/on_off_ms 428 chown system system /sys/class/leds/green/on_off_ms 429 chown system system /sys/class/leds/blue/on_off_ms 430 chown system system /sys/class/leds/red/rgb_start 431 chown system system /sys/class/leds/green/rgb_start 432 chown system system /sys/class/leds/blue/rgb_start 433 chown system system /sys/class/graphics/fb0/msm_fb_persist_mode 434 435 # dumpstate needs to read, vendor.health-hal needs to be able to RW 436 chown system system /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-02/800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/cycle_counts_bins 437 # HardwareInfo needs to be able to read CC bins 438 chmod 644 /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-02/800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/cycle_counts_bins 439 440 # dumpstate needs to read, vendor.health-hal needs to be able to RW 441 chown system system /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-02/800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/power_supply/bms/charge_full 442 # HardwareInfo needs to be able to read charge_full 443 chmod 644 /sys/devices/soc/800f000.qcom,spmi/spmi-0/spmi0-02/800f000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/power_supply/bms/charge_full 444 445 on boot 446 mkdir /dev/socket/qmux_radio 0770 radio radio 447 chmod 2770 /dev/socket/qmux_radio 448 mkdir /dev/socket/qmux_audio 0770 media audio 449 chmod 2770 /dev/socket/qmux_audio 450 mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth 451 chmod 2770 /dev/socket/qmux_bluetooth 452 mkdir /dev/socket/qmux_gps 0770 gps gps 453 chmod 2770 /dev/socket/qmux_gps 454 455 # Create NETMGR daemon socket area 456 mkdir /dev/socket/netmgr 0750 radio radio 457 458 setprop wifi.interface wlan0 459 460 # Assign TCP buffer thresholds to be ceiling value of technology maximums 461 # Increased technology maximums should be reflected here. 462 write /proc/sys/net/core/rmem_max 8388608 463 write /proc/sys/net/core/wmem_max 8388608 464 465 # Update DVR cpusets to boot-time values. 466 write /dev/cpuset/kernel/cpus 0-7 467 write /dev/cpuset/system/cpus 0-7 468 write /dev/cpuset/system/performance/cpus 0-7 469 write /dev/cpuset/system/background/cpus 0-7 470 write /dev/cpuset/system/cpus 0-7 471 write /dev/cpuset/application/cpus 0-7 472 write /dev/cpuset/application/performance/cpus 0-7 473 write /dev/cpuset/application/background/cpus 0-7 474 write /dev/cpuset/application/cpus 0-7 475 476 # Bluetooth 477 chown bluetooth net_bt /sys/class/rfkill/rfkill0/type 478 chown bluetooth net_bt /sys/class/rfkill/rfkill0/state 479 chmod 0660 /sys/class/rfkill/rfkill0/state 480 chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo 481 chmod 0660 /sys/class/rfkill/rfkill0/device/extldo 482 483 # Wifi firmware reload path 484 chown wifi wifi /sys/module/wlan/parameters/fwpath 485 486 # default country code 487 setprop ro.boot.wificountrycode 00 488 489 # Encrypted ramoops 490 umount /sys/fs/pstore 491 chmod 770 /dev/access-ramoops 492 chown system system /dev/access-ramoops 493 chmod 770 /dev/access-metadata 494 chown system system /dev/access-metadata 495 496 # Make the ftm4 command node writeable from dumpstate 497 chown system system /sys/devices/virtual/input/ftm4_touch/cmd 498 499 # ftm4 VR mode 500 chown system system /sys/devices/virtual/input/ftm4_touch/vrmode 501 502 service vendor.init-elabel-sh /system/bin/init.elabel.sh 503 class late_start 504 user system 505 group system 506 oneshot 507 508 service vendor.init-radio-sh /vendor/bin/init.radio.sh 509 class late_start 510 user radio 511 group root radio 512 oneshot 513 514 service vendor.folio_daemon /system/bin/folio_daemon 515 class late_start 516 user system 517 group system 518 disabled 519 520 on property:init.svc.zygote=running 521 start vendor.folio_daemon 522 523 on property:init.svc.zygote=stopped 524 stop vendor.folio_daemon 525 526 service vendor.thermal-engine /vendor/bin/thermal-engine -c ${sys.qcom.thermalcfg:-/vendor/etc/thermal-engine.conf} 527 class hal 528 user root 529 group root system diag 530 socket thermal-send-client stream 0666 system system 531 socket thermal-recv-client stream 0660 system system 532 socket thermal-recv-passive-client stream 0666 system system 533 534 service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf 535 socket msm_irqbalance seqpacket 660 root system 536 class core 537 user root 538 group root 539 writepid /dev/cpuset/system-background/tasks 540 541 on property:persist.sys.ssr.restart_level=* 542 start vendor.ssr_setup 543 544 service vendor.ssr_setup /vendor/bin/ssr_setup 545 oneshot 546 disabled 547 548 service vendor.ssr_diag /vendor/bin/ssr_diag 549 class late_start 550 user system 551 group system 552 disabled 553 554 service vendor.per_mgr /vendor/bin/pm-service 555 class core 556 user system 557 group system 558 ioprio rt 4 559 shutdown critical 560 561 service vendor.per_proxy /vendor/bin/pm-proxy 562 class core 563 user system 564 group system 565 disabled 566 567 on property:sys.post_boot.parsed=1 568 # Setup permission for powerHAL 569 chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_trigger_count 570 chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hist_memory 571 chown system system /sys/devices/soc/soc:qcom,cpubw/devfreq/soc:qcom,cpubw/bw_hwmon/hyst_length 572 573 on property:sys.boot_completed=1 574 # Enable power setting and set sys.post_boot.parsed to 1 575 start vendor.power_sh 576 577 # Enable UFS powersaving 578 write /sys/devices/soc/${ro.boot.bootdevice}/clkscale_enable 1 579 write /sys/devices/soc/${ro.boot.bootdevice}/clkgate_enable 1 580 write /sys/module/lpm_levels/parameters/sleep_disabled N 581 582 # Setup final cpuset 583 write /dev/cpuset/top-app/cpus 0-7 584 write /dev/cpuset/foreground/cpus 0-3,6-7 585 write /dev/cpuset/background/cpus 0-1 586 write /dev/cpuset/system-background/cpus 0-3 587 write /dev/cpuset/restricted/cpus 0-3 588 589 # Update DVR cpusets to runtime values. 590 write /dev/cpuset/kernel/cpus 2,3 591 write /dev/cpuset/system/performance/cpus 6-7 592 write /dev/cpuset/system/background/cpus 0-1 593 write /dev/cpuset/system/cpus 0-1,6-7 594 write /dev/cpuset/application/performance/cpus 4-5 595 write /dev/cpuset/application/background/cpus 0-1 596 write /dev/cpuset/application/cpus 0-1,4-5 597 598 # UFS health 599 chmod 755 /sys/kernel/debug/ufshcd0 600 chmod 644 /sys/kernel/debug/ufshcd0/err_state 601 chmod 644 /sys/kernel/debug/ufshcd0/power_mode 602 chmod 644 /sys/kernel/debug/ufshcd0/host_regs 603 chmod 644 /sys/kernel/debug/ufshcd0/show_hba 604 chmod 644 /sys/kernel/debug/ufshcd0/dump_device_desc 605 chmod 644 /sys/kernel/debug/ufshcd0/dump_health_desc 606 chmod 755 /sys/kernel/debug/ufshcd0/stats 607 chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats 608 chmod 644 /sys/kernel/debug/ufshcd0/stats/query_stats 609 chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats 610 611 # QCOM FG SRAM dump for dumpstate 612 chown system system /d/fg/sram/data 613 chown system system /d/fg/sram/count 614 chown system system /d/fg/sram/address 615 616 # com.google.android.hardwareinfo needs to be able to read cycle counts 617 chmod 0666 /sys/class/power_supply/bms/cycle_count_id 618 619 trigger sys-boot-completed-set 620 621 # We want one opportunity per boot to enable zram, so we 622 # use a trigger we fire from the above stanza. If 623 # persist.sys.zram_enabled becomes true after boot, 624 # we don't want to run swapon_all at that time. 625 on sys-boot-completed-set && property:persist.sys.zram_enabled=1 626 swapon_all /vendor/etc/fstab.${ro.hardware} 627 628 on property:init.svc.vendor.per_mgr=running 629 start vendor.per_proxy 630 631 on shutdown 632 stop vendor.per_proxy 633 # Disable subsystem restart 634 write /sys/module/subsystem_restart/parameters/disable_restart_work 0x9889deed 635 636 service vendor.qseecomd /vendor/bin/qseecomd 637 class core 638 user root 639 group root 640 shutdown critical 641 642 service vendor.time_daemon /vendor/bin/time_daemon 643 class core 644 user root 645 group root 646 647 service vendor.ss_ramdump /vendor/bin/subsystem_ramdump 648 class main 649 user root 650 group root system 651 disabled 652 653 on property:persist.sys.ssr.enable_ramdumps=1 654 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 655 mkdir /data/vendor/ssrdump 771 root system 656 mkdir /data/vendor/ramdump 771 root system 657 start vendor.ss_ramdump 658 659 on property:persist.sys.ssr.enable_ramdumps=0 660 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 661 662 service vendor.sensors /vendor/bin/sensors.qcom 663 class core 664 user system 665 group system 666 # Grants the ability for this daemon to bind IPC router ports so it can 667 # register QMI services 668 capabilities NET_BIND_SERVICE 669 670 service vendor.adsprpcd /vendor/bin/adsprpcd 671 class main 672 user media 673 group media 674 675 service vendor.irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" 676 class core 677 user root 678 oneshot 679 680 service vendor.rmt_storage /vendor/bin/rmt_storage 681 class core 682 user root 683 ioprio rt 0 684 shutdown critical 685 686 service vendor.tftp_server /vendor/bin/tftp_server 687 class core 688 user root 689 group root system 690 691 service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ 692 -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \ 693 -g@android:wpa_wlan0 694 # we will start as root and wpa_supplicant will switch to user wifi 695 # after setting up the capabilities required for WEXT 696 # user wifi 697 # group wifi inet keystore 698 interface android.hardware.wifi.supplicant@1.0::ISupplicant default 699 interface android.hardware.wifi.supplicant@1.1::ISupplicant default 700 class main 701 socket wpa_wlan0 dgram 660 wifi wifi 702 disabled 703 oneshot 704 705 service vendor.cnss-daemon /vendor/bin/cnss-daemon -n -l 706 class late_start 707 user system 708 group system inet wifi 709 710 service vendor.imsqmidaemon /vendor/bin/imsqmidaemon 711 class main 712 user system 713 socket ims_qmid stream 0660 system radio 714 group radio log diag 715 716 service vendor.imsdatadaemon /vendor/bin/imsdatadaemon 717 class main 718 user system 719 socket ims_datad stream 0660 system radio 720 group system wifi radio inet log 721 disabled 722 723 on property:vendor.ims.QMI_DAEMON_STATUS=1 724 start vendor.imsdatadaemon 725 726 service vendor.ims_rtp_daemon /vendor/bin/ims_rtp_daemon 727 class main 728 user system 729 group radio diag inet log 730 disabled 731 732 service vendor.imsrcsservice /vendor/bin/imsrcsd 733 class hal 734 user system 735 group radio diag inet log 736 disabled 737 738 on property:vendor.ims.DATA_DAEMON_STATUS=1 739 start vendor.ims_rtp_daemon 740 start vendor.imsrcsservice 741 742 service vendor.qmuxd /vendor/bin/qmuxd 743 class main 744 user root 745 group radio audio bluetooth gps nfc qcom_diag 746 747 service vendor.cnd /vendor/bin/cnd 748 class main 749 user radio 750 group inet system wifi radio wakelock 751 752 service vendor.netmgrd /vendor/bin/netmgrd 753 class main 754 user root 755 group root wifi wakelock radio inet 756 757 service vendor.port-bridge /vendor/bin/port-bridge 758 class main 759 user radio 760 group radio system inet 761 oneshot 762 763 service vendor.ipacm /vendor/bin/ipacm 764 class main 765 user radio 766 group radio inet 767 768 service vendor.qti /vendor/bin/qti 769 class main 770 user radio 771 group radio net_raw diag usb net_admin 772 773 on property:wc_transport.start_hci=true 774 start vendor.hci_filter 775 776 on property:wc_transport.start_hci=false 777 stop vendor.hci_filter 778 779 service vendor.hci_filter /vendor/bin/wcnss_filter 780 class late_start 781 user bluetooth 782 group bluetooth diag system wakelock 783 disabled 784 785 service vendor.loc_launcher /vendor/bin/loc_launcher 786 class late_start 787 group gps inet diag wifi 788 789 service vendor.pd_mapper /vendor/bin/pd-mapper 790 class core 791 792 service vendor.atfwd /vendor/bin/ATFWD-daemon 793 class late_start 794 user system 795 group system radio 796 disabled 797 798 on property:persist.radio.atfwd.start=true 799 start vendor.atfwd 800 801 on property:persist.radio.atfwd.start=false 802 stop vendor.atfwd 803 804 # b/68982314 805 on property:sys.uidcpupower=* 806 write /proc/uid_cpupower/enable 1 807 808 on property:sys.uidcpupower=0 809 write /proc/uid_cpupower/enable 0 810 811 # bugreport is triggered by holding down volume down, volume up and power 812 service bugreport /system/bin/dumpstate -d -p -B -z \ 813 -o /data/user_de/0/com.android.shell/files/bugreports/bugreport 814 class main 815 disabled 816 oneshot 817 keycodes 114 115 116 818 819 service vendor.chre /vendor/bin/chre 820 class late_start 821 user system 822 group system 823 socket chre seqpacket 0660 root system 824 shutdown critical 825 826 service vendor.power_sh /vendor/bin/init.power.sh 827 class main 828 user root 829 group root system 830 disabled 831 oneshot 832 833 service vendor.devstart_sh /vendor/bin/init.qcom.devstart.sh 834 class main 835 user root 836 group root system 837 disabled 838 oneshot 839 840 service vendor.wlan_sh /vendor/bin/init.qcom.wlan.sh 841 class main 842 user root 843 group root 844 disabled 845 oneshot 846 847 service vendor.ipastart_sh /vendor/bin/init.qcom.ipastart.sh 848 class main 849 user system 850 group net_admin 851 disabled 852 oneshot 853 854 service vendor.insmod_sh /vendor/bin/init.insmod.sh 855 class main 856 user root 857 group root system 858 disabled 859 oneshot 860 861 service vendor.ramoops_sh /system/bin/init.ramoops.sh 862 class main 863 user root 864 group root system 865 disabled 866 oneshot 867 868 # b/70518189 vDSO experiments 869 on property:sys.vdso=* 870 write /sys/module/vdso/parameters/enable_32 1 871 write /sys/module/vdso/parameters/enable_64 1 872 873 on property:sys.vdso=false 874 write /sys/module/vdso/parameters/enable_32 0 875 write /sys/module/vdso/parameters/enable_64 0 876 877 on property:sys.vdso=64 878 write /sys/module/vdso/parameters/enable_32 0 879 880 on property:sys.vdso=32 881 write /sys/module/vdso/parameters/enable_64 0 882 883 on property:wlan.driver.status=ok 884 # Get the wlan driver/fw version 885 start vendor.wlan_sh 886 887 # charger driver exposes now finer grain control, map demo mode to those properties 888 # demo mode can only be exit wipping data which will also reset the persist properties 889 on property:sys.retaildemo.enabled=1 890 setprop persist.vendor.charge.stop.level 35 891 setprop persist.vendor.charge.start.level 30 892 893 # system will not set the sys.retaildemo.enabled to 0 but this is used to set back to default charging 894 on property:sys.retaildemo.enabled=0 895 setprop persist.vendor.charge.stop.level 100 896 setprop persist.vendor.charge.start.level 0 897