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