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