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 user system 26 group system wakelock input 27 capabilities SYS_BOOT 28 file /dev/kmsg w 29 file /sys/fs/pstore/console-ramoops-0 r 30 file /sys/fs/pstore/console-ramoops r 31 file /proc/last_kmsg r 32 33on early-init 34 mount debugfs debugfs /sys/kernel/debug 35 chmod 0755 /sys/kernel/debug 36 37 # Disable EAS 38 write /proc/sys/kernel/sched_energy_aware 0 39 mount_all /vendor/etc/fstab.persist --early 40 41# Skip init trigger for charger mode 42on early-init && property:ro.boot.mode=charger 43 setprop vendor.skip.init 1 44 45on init 46 # Load display primaries 47 start color_init 48 49 # Boot time fs tuning 50 write /sys/block/sda/queue/iostats 0 51 write /sys/block/sda/queue/scheduler cfq 52 write /sys/block/sda/queue/iosched/slice_idle 0 53 write /sys/block/sda/queue/nr_requests 256 54 write /sys/block/sde/queue/iostats 0 55 write /sys/block/sde/queue/scheduler cfq 56 write /sys/block/sde/queue/iosched/slice_idle 0 57 write /sys/block/sde/queue/nr_requests 256 58 write /sys/block/sdf/queue/iostats 0 59 write /sys/block/sdf/queue/scheduler cfq 60 write /sys/block/sdf/queue/iosched/slice_idle 0 61 write /sys/block/sdf/queue/nr_requests 256 62 63 # Disable powersaving 64 write /sys/module/lpm_levels/parameters/sleep_disabled 1 65 66 wait /dev/block/platform/${ro.boot.boot_devices} 67 symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice 68 69 # to access UFS/eMMC sysfs directly 70 symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice 71 72 # Disable UFS powersaving 73 write /dev/sys/block/bootdevice/clkgate_enable 0 74 75 # start qseecomd early as we mount system/ vendor/ early 76 # vold needs keymaster that needs qseecomd 77 start vendor.qseecomd 78 start keymaster-4-0 79 80 start vendor.citadeld 81 start vendor.keymaster-4-1-citadel 82 83 # Loading kernel modules in background 84 start insmod_sh 85 86 # bring back all cores 87 write /sys/devices/system/cpu/cpu0/online 1 88 write /sys/devices/system/cpu/cpu1/online 1 89 write /sys/devices/system/cpu/cpu2/online 1 90 write /sys/devices/system/cpu/cpu3/online 1 91 write /sys/devices/system/cpu/cpu4/online 1 92 write /sys/devices/system/cpu/cpu5/online 1 93 write /sys/devices/system/cpu/cpu6/online 1 94 write /sys/devices/system/cpu/cpu7/online 1 95 96 # configure governor settings for little cluster 97 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil 98 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500 99 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000 100 101 # configure governor settings for big cluster 102 write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor schedutil 103 write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us 500 104 write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us 20000 105 106 # configure governor settings for big big CPU 107 write /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor schedutil 108 write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/up_rate_limit_us 500 109 write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/down_rate_limit_us 20000 110 111 # ZRAM setup 112 write /sys/block/zram0/comp_algorithm lz4 113 write /proc/sys/vm/page-cluster 0 114 115 # Some user code relies on ro.boot.hardware.revision 116 setprop ro.boot.hardware.revision ${ro.revision} 117 118 # set default schedTune value for foreground/top-app 119 write /dev/stune/foreground/schedtune.prefer_idle 1 120 write /dev/stune/top-app/schedtune.boost 10 121 write /dev/stune/top-app/schedtune.prefer_idle 1 122 123 # set default schedTune value for camera-daemon 124 write /dev/stune/camera-daemon/schedtune.prefer_idle 1 125 write /dev/stune/camera-daemon/schedtune.boost 0 126 127 # Allow PAI targeting per hardware SKU 128 setprop ro.oem.key1 ${ro.boot.hardware.sku} 129 130 # Property used by vintf for sku specific manifests 131 setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku} 132 133 # Report max frequency to unity tasks. 134 write /proc/sys/kernel/sched_lib_name "UnityMain,libunity.so" 135 write /proc/sys/kernel/sched_lib_mask_force 255 136 137 # NFC streset tool name 138 setprop persist.vendor.nfc.streset libstreset 139 140# b/134578585 141on charger 142 trigger fs 143 start system_suspend 144 start vendor.qrtr-ns 145 start irsc_util 146 start tftp_server 147 start rmt_storage 148 start modem_svc 149 start vendor.per_mgr 150 151 # Health HAL 152 chown system system /sys/devices/virtual/thermal/tz-by-name/soc/mode 153 154on late-init 155 chown system system /sys/devices/virtual/thermal/tz-by-name/sdm-therm-monitor/trip_point_0_temp 156 chown system system /sys/devices/virtual/thermal/tz-by-name/sdm-therm-monitor/trip_point_0_hyst 157 chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_temp 158 chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_hyst 159 chown system system /sys/devices/virtual/thermal/tz-by-name/soc/mode 160 chown system system /sys/devices/virtual/thermal/tz-by-name/bcl-virt-monitor/trip_point_0_temp 161 chown system system /sys/devices/virtual/thermal/tz-by-name/bcl-virt-monitor/trip_point_0_hyst 162 163# Override thermal HAL config for JAWS board 164on fs && property:ro.revision="DEV1.0" 165 setprop vendor.thermal.config thermal_info_config_jaws.json 166 167on fs 168 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --early 169 170 mkdir /mnt/vendor/persist/audio 0770 media audio 171 mkdir /mnt/vendor/persist/data 0700 system system 172 mkdir /mnt/vendor/persist/display 0770 system graphics 173 mkdir /mnt/vendor/persist/rfs 0770 root system 174 mkdir /mnt/vendor/persist/hlos_rfs 0770 root system 175 mkdir /mnt/vendor/persist/secnvm 0770 system system 176 mkdir /mnt/vendor/persist/oslo 0755 system system 177 mkdir /mnt/vendor/persist/touch 0770 system system 178 chmod 0770 /mnt/vendor/persist/rfs 179 chmod 0770 /mnt/vendor/persist/rfs/shared 180 chmod 0770 /mnt/vendor/persist/rfs/msm 181 chmod 0770 /mnt/vendor/persist/rfs/msm/adsp 182 chmod 0770 /mnt/vendor/persist/rfs/msm/mpss 183 chmod 0770 /mnt/vendor/persist/rfs/msm/slpi 184 chmod 0770 /mnt/vendor/persist/rfs/mdm 185 chmod 0770 /mnt/vendor/persist/rfs/mdm/adsp 186 chmod 0770 /mnt/vendor/persist/rfs/mdm/mpss 187 chmod 0770 /mnt/vendor/persist/rfs/mdm/slpi 188 chmod 0770 /mnt/vendor/persist/rfs/mdm/tn 189 chmod 0770 /mnt/vendor/persist/rfs/apq 190 chmod 0770 /mnt/vendor/persist/rfs/apq/gnss 191 chmod 0770 /mnt/vendor/persist/hlos_rfs 192 193 # for cycle count backup 194 mkdir /mnt/vendor/persist/battery 0700 system system 195 196 restorecon_recursive /mnt/vendor/persist 197 198on post-fs 199 # set RLIMIT_MEMLOCK to 64MB 200 setrlimit 8 67108864 67108864 201 202 # Wait qseecomd started 203 wait_for_prop vendor.sys.listeners.registered true 204 205 # load IPA FWs 206 # This must be started when vendor.sys.listeners.registered is true 207 write /dev/ipa 1 208 209on late-fs 210 # Start services for bootanim 211 wait_for_prop vendor.display.native_display_primaries_ready 1 212 setprop ro.surface_flinger.display_primary_red ${vendor.display.primary_red} 213 setprop ro.surface_flinger.display_primary_green ${vendor.display.primary_green} 214 setprop ro.surface_flinger.display_primary_blue ${vendor.display.primary_blue} 215 setprop ro.surface_flinger.display_primary_white ${vendor.display.primary_white} 216 # Permission for hwcomposer 217 chown system system /sys/class/backlight/panel0-backlight/brightness 218 chown system system /sys/class/backlight/panel0-backlight/max_brightness 219 chown system system /sys/class/backlight/panel0-backlight/vr_mode 220 chown system system /sys/class/backlight/panel0-backlight/hbm_mode 221 start vendor.power-hal-aidl 222 start surfaceflinger 223 start bootanim 224 start vendor.hwcomposer-2-4 225 start vendor.configstore-hal 226 start vendor.qti.hardware.display.allocator 227 start vendor.light-1-1 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 239 # Start time daemon early so that the system time can be set early 240 start time_daemon 241 242 # Init sensor specific services 243 start init-sensors-sh 244 245 # turn off vblank irq immediately after turning off 246 write /sys/module/drm/parameters/vblankoffdelay -1 247 248 # Write build info to kdebuginfo. 249 write /sys/module/kdebuginfo/parameters/build_info "${ro.product.name}-${ro.build.type} ${ro.build.version.incremental}" 250 251on post-fs-data 252 mkdir /vendor/data/tombstones 0771 system system 253 mkdir /tombstones/modem 0771 system system 254 mkdir /tombstones/lpass 0771 system system 255 mkdir /tombstones/wcnss 0771 system system 256 mkdir /tombstones/dsps 0771 system system 257 mkdir /data/vendor/hbtp 0750 system system 258 mkdir /data/vendor/tloc 0700 system drmrpc 259 mkdir /data/vendor/nnhal 0700 system system 260 mkdir /data/vendor/time 0770 system system 261 mkdir /data/vendor/modem_fdr 0700 root system 262 mkdir /data/vendor/display 0770 system graphics 263 mkdir /data/vendor/camera 0770 system system 264 mkdir /data/vendor/hardware/airbrush 0770 vendor_airbrush vendor_airbrush 265 mkdir /data/vendor/hardware/airbrush/manager 0770 vendor_airbrush vendor_airbrush 266 mkdir /data/vendor/hal_neuralnetworks_darwinn 0770 system system 267 mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera 0770 system system 268 mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera/facessd 0770 system system 269 mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera/ultradepth 0770 system system 270 mkdir /data/vendor/rebootescrow 0770 hsm hsm 271 start vendor.rebootescrow-citadel 272 273on zygote-start 274 # zygote is started in common init.rc 275 # and now we can continue initialize /data/ 276 mkdir /data/vendor/ipa 0770 radio radio 277 chown radio radio /data/vendor/ipa 278 279 # Create the directories used by the Wireless subsystem 280 mkdir /data/vendor/wifi 0771 wifi wifi 281 mkdir /data/vendor/wifi/wpa 0770 wifi wifi 282 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi 283 284 # Create the directories used by CnE subsystem 285 mkdir /data/vendor/connectivity 0771 radio radio 286 chown radio radio /data/vendor/connectivity 287 288 # Create directory for radio 289 mkdir /data/vendor/radio 0773 system radio 290 mkdir /data/vendor/modem_stat 0771 system radio 291 write /data/vendor/modem_stat/debug.txt "" 292 chown system radio /data/vendor/modem_stat/debug.txt 293 chmod 0664 /data/vendor/modem_stat/debug.txt 294 295 # Mark the copy complete flag to not completed 296 write /data/vendor/radio/copy_complete 0 297 chown radio radio /data/vendor/radio/copy_complete 298 chmod 0660 /data/vendor/radio/copy_complete 299 300 # File flags for prebuilt ril db file 301 write /data/vendor/radio/prebuilt_db_support 1 302 chown radio radio /data/vendor/radio/prebuilt_db_support 303 chmod 0400 /data/vendor/radio/prebuilt_db_support 304 write /data/vendor/radio/db_check_done 0 305 chown radio radio /data/vendor/radio/db_check_done 306 chmod 0660 /data/vendor/radio/db_check_done 307 308 # Create directories for Location services 309 mkdir /data/vendor/location 0770 gps gps 310 mkdir /data/vendor/location/mq 0770 gps gps 311 mkdir /data/vendor/location/xtwifi 0770 gps gps 312 mkdir /dev/socket/location 0770 gps gps 313 mkdir /dev/socket/location/mq 0770 gps gps 314 mkdir /dev/socket/location/xtra 0770 gps gps 315 316 #Create directories for wifihal services 317 mkdir /dev/socket/wifihal 0770 wifi wifi 318 chmod 2770 /dev/socket/wifihal 319 320 # Create directory for audio delta files 321 mkdir /data/vendor/audio 0770 audio audio 322 mkdir /data/vendor/audio/acdbdata 0770 media audio 323 mkdir /data/vendor/audio/acdbdata/delta 0770 media audio 324 325on early-boot 326 # Set up sensors-related directories and permissions 327 chmod 775 /mnt/vendor/persist/sensors 328 chmod 664 /mnt/vendor/persist/sensors/sensors_settings 329 chown root system /mnt/vendor/persist/sensors/registry 330 chmod 775 /mnt/vendor/persist/sensors/registry 331 chown root system /mnt/vendor/persist/sensors/registry/registry 332 chmod 775 /mnt/vendor/persist/sensors/registry/registry 333 chmod 664 /mnt/vendor/persist/sensors/registry/registry/sensors_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 mkdir /data/vendor/sensors 0770 338 chown system system /data/vendor/sensors 339 340 # Restore SeLinux Context for preventing temp.json with 341 # incorrect security context 342 restorecon /mnt/vendor/persist/sensors/registry/temp.json 343 344 chmod 770 /mnt/vendor/persist/audio 345 chmod 660 /mnt/vendor/persist/audio/audio.cal 346 chown media audio /mnt/vendor/persist/audio 347 chown audioserver audio /mnt/vendor/persist/audio/audio.cal 348 349 # Set up oslo-related directories and permissions 350 chmod 755 /mnt/vendor/persist/oslo 351 chmod 660 /mnt/vendor/persist/oslo/oslo.cal 352 chmod 644 /mnt/vendor/persist/oslo/tx_power.cal 353 chown system system /mnt/vendor/persist/oslo 354 chown system system /mnt/vendor/persist/oslo/oslo.cal 355 chown system system /mnt/vendor/persist/oslo/tx_power.cal 356 357 # Set up touch directories and permissions 358 chmod 770 /mnt/vendor/persist/touch 359 chown system system /mnt/vendor/persist/touch 360 361 # Wait for insmod_sh to finish all modules 362 wait_for_prop vendor.all.modules.ready 1 363 364 # Wait for insmod_sh to finish all boot devices 365 wait_for_prop vendor.all.devices.ready 1 366 367 # Permission for Rainbow sensor 368 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_enable 369 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable 370 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_read_byte 371 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte 372 chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte 373 chmod 0660 /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte 374 chown system system /dev/vd6281 375 chmod 0660 /dev/vd6281 376 chown system system /mnt/vendor/persist/camera/rals_fac_test 377 chmod 0660 /mnt/vendor/persist/camera/rals_fac_test 378 379 # Permission for Dot and Flood 380 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_enable 381 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_enable 382 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_certified 383 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_certified 384 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_write_byte 385 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_write_byte 386 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_silego_validated 387 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_silego_validated 388 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_read_byte 389 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_read_byte 390 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/itoc_cali_data_store 391 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/itoc_cali_data_store 392 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/get_silego_state 393 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/get_silego_state 394 chown system system /dev/lm36011_flood 395 chmod 0660 /dev/lm36011_flood 396 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_enable 397 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_enable 398 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_certified 399 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_certified 400 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_write_byte 401 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_write_byte 402 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_silego_validated 403 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_silego_validated 404 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_read_byte 405 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_read_byte 406 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/itoc_cali_data_store 407 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/itoc_cali_data_store 408 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/get_silego_state 409 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/get_silego_state 410 chown system system /dev/lm36011_dot 411 chmod 0660 /dev/lm36011_dot 412 413 # Permission for camera sensor 414 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type 415 chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type 416 chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type 417 chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type 418 419 # FG cycle count read from dumpstate + backup restore from health HAL (and pixelstats) 420 chown system system /sys/class/power_supply/maxfg/cycle_counts_bins 421 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/cycle_counts 422 423 # Battery Defender 424 chown system system /sys/devices/platform/soc/soc:google,charger/charge_stop_level 425 chown system system /sys/devices/platform/soc/soc:google,charger/charge_start_level 426 chown system system /sys/devices/platform/soc/soc:google,charger/bd_clear 427 chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_clear 428 429 # Charge stats (write 0) 430 chown system system /sys/class/power_supply/battery/charge_stats 431 432 # Wireless charging 433 chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/rxdata 434 chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/txdata 435 chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/rxlen 436 chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/txlen 437 chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/ccreset 438 chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/status 439 chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/version 440 chown system system /sys/class/power_supply/wireless/capacity 441 442 # Permission for Pixelstats 443 chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right 444 chown system system /dev/sys/block/bootdevice/slowio_read_cnt 445 chown system system /dev/sys/block/bootdevice/slowio_write_cnt 446 chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt 447 chown system system /dev/sys/block/bootdevice/slowio_sync_cnt 448 chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/codec_state 449 chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/wdsp_stat 450 chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/codec_state 451 chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/wdsp_stat 452 453 # iaxxx dsp pn for HardwareInfo 454 chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/hwinfo_part_number 455 chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/hwinfo_part_number 456 457 # Permission for Health Storage HAL 458 chown system system /dev/sys/block/bootdevice/manual_gc 459 460 # Permissions for reading display native color gamut 461 chown system graphics /mnt/vendor/persist/display/native_gamut.csv 462 463 # Permission to report knowles framework info 464 chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/fw_version 465 chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/host_version 466 chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/package_version 467 chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/plugin_version 468 469 chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/file_version 470 chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/host_version 471 chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/package_version 472 chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/plugin_version 473 474on boot 475 # This location is used by QCRIL to host UNIX domain 476 # socket files used for internal IPC within QCRIL 477 # modules 478 mkdir /dev/socket/qmux_radio 0770 radio radio 479 chmod 2770 /dev/socket/qmux_radio 480 481 setprop wifi.interface wlan0 482 483 chown system system /sys/kernel/hbtp/display_pwr 484 start rfs_access 485 486 # default country code 487 setprop ro.boot.wificountrycode 00 488 489 # WLAN debug access 490 chown system system /d/icnss/stats 491 492service init-radio-sh /vendor/bin/init.radio.sh 493 class late_start 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 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/cpu5/online 0 510 write /sys/devices/system/cpu/cpu6/online 0 511 write /sys/devices/system/cpu/cpu7/online 0 512 513 # Enable thermal mitigation 514 write /sys/devices/virtual/thermal/tz-by-name/backup-charge/mode enabled 515 516on property:sys.boot_completed=1 517 setprop vendor.setup.power 1 518 519 # Permission for Pixelstats 520 chown system system /dev/sys/fs/by-name/userdata/gc_segment_mode 521 chown system system /dev/sys/fs/by-name/userdata/gc_reclaimed_segments 522 523 # Runtime fs tuning 524 write /sys/block/sda/queue/nr_requests 128 525 write /sys/block/sda/queue/iostats 1 526 write /sys/block/sde/queue/nr_requests 128 527 write /sys/block/sde/queue/iostats 1 528 write /sys/block/sdf/queue/nr_requests 128 529 write /sys/block/sdf/queue/iostats 1 530 531 # Limit 4KB discards to 2GB of space 532 write /dev/sys/fs/by-name/userdata/max_small_discards 5120 533 534 # Back to default VM settings 535 write /proc/sys/vm/dirty_expire_centisecs 3000 536 write /proc/sys/vm/dirty_background_ratio 10 537 538 # Enable ZRAM on boot_complete 539 rm /data/unencrypted/zram_swap 540 swapon_all /vendor/etc/fstab.${ro.boot.hardware.platform} 541 write /proc/sys/vm/swappiness 100 542 543 # Setup runtime cpusets 544 write /dev/cpuset/top-app/cpus 0-7 545 write /dev/cpuset/foreground/cpus 0-3,5-6 546 write /dev/cpuset/background/cpus 0-1 547 write /dev/cpuset/system-background/cpus 0-3 548 write /dev/cpuset/restricted/cpus 0-3 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 # UFS health 558 chmod 755 /sys/kernel/debug/ufshcd0 559 chmod 644 /sys/kernel/debug/ufshcd0/show_hba 560 chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats 561 chmod 644 /sys/kernel/debug/ufshcd0/stats/io_stats 562 chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats 563 564 # HardwareInfo files 565 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/serial_number 566 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/panel_vendor_name 567 chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/panel_extinfo 568 chmod 644 /sys/kernel/debug/regmap/1-0036/registers 569 chmod 644 /sys/kernel/debug/regmap/1-000b/registers 570 chmod 644 /sys/kernel/debug/regmap/2-0036/registers 571 chmod 644 /sys/kernel/debug/regmap/2-000b/registers 572 573 # Maxim FG dump for dumpstate 574 chown system system /sys/kernel/debug/regmap/1-0036/registers 575 chown system system /sys/kernel/debug/regmap/1-000b/registers 576 chown system system /sys/kernel/debug/google_battery/cycle_count_bins 577 chown system system /sys/kernel/debug/google_battery/ssoc_gdf 578 chown system system /sys/kernel/debug/google_battery/ssoc_rls 579 chown system system /sys/kernel/debug/google_battery/ssoc_uic 580 chown system system /sys/kernel/debug/google_battery/ssoc_uicurve 581 chown system system /sys/kernel/debug/google_charger/pps_op_ua 582 chown system system /sys/kernel/debug/google_charger/pps_out_uv 583 584 # Permission for Athletico 585 chown system system /dev/sensor_tunnel 586 chmod 0660 /dev/sensor_tunnel 587 chown system system /dev/iaxxx-module-celldrv 588 chmod 0660 /dev/iaxxx-module-celldrv 589 590service vendor.per_mgr /vendor/bin/pm-service 591 user system 592 group system 593 ioprio rt 4 594 595service per_proxy /vendor/bin/pm-proxy 596 class core 597 user system 598 group system 599 disabled 600 601on property:persist.vendor.modem.esim.reset=done && property:persist.vendor.se.pixel_aram=skipped 602 start vendor.per_mgr 603 604on property:persist.vendor.modem.esim.reset=done && property:persist.vendor.se.pixel_aram=removed 605 start vendor.per_mgr 606 607on property:persist.vendor.modem.esim.reset=noneed && property:persist.vendor.se.pixel_aram=skipped 608 start vendor.per_mgr 609 610on property:persist.vendor.modem.esim.reset=noneed && property:persist.vendor.se.pixel_aram=removed 611 start vendor.per_mgr 612 613on property:sys.boot_completed=1 614 start vendor.per_mgr 615 616on property:init.svc.vendor.per_mgr=running 617 start per_proxy 618 619on property:sys.shutdown.requested=* 620 stop per_proxy 621 622service vendor.qseecomd /vendor/bin/qseecomd 623 class core 624 user root 625 group root 626 627service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-engine-${ro.hardware}-${vendor.thermal.mode:-normal}_mode.conf 628 class main 629 user root 630 group root 631 632service init-sensors-sh /vendor/bin/init.sensors.sh 633 class main 634 user root 635 group root system 636 disabled 637 oneshot 638 639service vendor.adsprpcd /vendor/bin/adsprpcd 640 class main 641 user root 642 group media 643 setenv ADSP_LIBRARY_PATH /vendor/dsp;/vendor/lib/rfsa/adsp;/system/lib/rfsa/adsp 644 645service vendor.adsprpcd_audiopd /vendor/bin/adsprpcd audiopd 646 class main 647 user media 648 group media 649 650service vendor.cdsprpcd /vendor/bin/cdsprpcd 651 class main 652 user system 653 group system 654 655service vendor.lowi /vendor/bin/sscrpcd 656 class core 657 user system 658 group system wakelock 659 capabilities BLOCK_SUSPEND 660 661service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon 662 class main 663 user radio 664 socket ims_qmid stream 0660 system radio 665 group radio log diag 666 667service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon 668 class main 669 user radio 670 socket ims_datad stream 0660 system radio 671 group radio wifi inet log diag 672 disabled 673 674service vendor.imsrcsservice /system/vendor/bin/imsrcsd 675 class main 676 user radio 677 group radio diag inet log wakelock 678 679on property:vendor.ims.QMI_DAEMON_STATUS=1 680 start vendor.imsdatadaemon 681 682service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon 683 class main 684 user radio 685 group radio inet log 686 687service wait_for_strongbox /vendor/bin/hw/wait_for_strongbox 688 user root 689 group root system 690 priority -20 691 ioprio rt 0 692 693on property:vendor.ims.DATA_DAEMON_STATUS=1 694 restart vendor.ims_rtp_daemon 695 696service vendor.qrtr-ns /vendor/bin/qrtr-ns -f 697 class core 698 user vendor_qrtr 699 group vendor_qrtr 700 capabilities NET_BIND_SERVICE 701 702service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" 703 class core 704 user root 705 oneshot 706 707service rmt_storage /vendor/bin/rmt_storage 708 user root 709 ioprio rt 0 710 shutdown critical 711 712service tftp_server /vendor/bin/tftp_server 713 class core 714 user root 715 group root system 716 717service modem_svc /vendor/bin/modem_svc -q 718 class core 719 user root 720 group system 721 capabilities NET_BIND_SERVICE 722 723service vendor.ss_ramdump /vendor/bin/subsystem_ramdump 724 class main 725 user root 726 group system 727 disabled 728 729service vendor.ssr_setup /vendor/bin/ssr_setup 730 oneshot 731 disabled 732 733on property:persist.vendor.sys.ssr.restart_level=* 734 start vendor.ssr_setup 735 736on post-fs-data && property:persist.vendor.sys.ssr.enable_ramdumps=1 && property:vendor.skip.init=0 737 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 738 mkdir /data/vendor/wifidump 771 root system 739 mkdir /data/vendor/ramdump 771 root system 740 mkdir /data/vendor/ssrdump 771 root system 741 mkdir /data/vendor/ssrlog 775 root system 742 start vendor.ss_ramdump 743 start vendor.crash_event_logger 744 745on property:persist.vendor.sys.ssr.enable_ramdumps=0 746 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 747 748on property:init.svc.vendor.hwcomposer-2-4=stopped 749 stop ppd 750 751on property:init.svc.vendor.hwcomposer-2-4=running 752 start ppd 753 754service insmod_sh /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.${ro.hardware}.cfg 755 class main 756 user root 757 group root system 758 disabled 759 oneshot 760 761service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf 762 socket msm_irqbalance seqpacket 660 root system 763 class core 764 user root 765 group root 766 task_profiles ServiceCapacityLow 767 768service pd_mapper /vendor/bin/pd-mapper 769 class core 770 user system 771 group system 772 capabilities NET_BIND_SERVICE 773 774service cnss-daemon /vendor/bin/cnss-daemon -n -l 775 class late_start 776 user system 777 group system inet wifi 778 779service loc_launcher /vendor/bin/loc_launcher 780 class late_start 781 user gps 782 group gps 783 784# Allow access to touch glove_mode sysfs node 785on property:vendor.all.modules.ready=1 786 chown system system /sys/class/spi_master/spi1/spi1.0/glove_mode 787 788# Toggle glove_mode according to touch_sensitivity_mode 789on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1 790 write /sys/class/spi_master/spi1/spi1.0/glove_mode 00 791 792on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1 793 write /sys/class/spi_master/spi1/spi1.0/glove_mode 01 794 795# Route touch_sensitivity_mode to persist 796on property:debug.touch_sensitivity_mode=0 797 setprop persist.vendor.touch_sensitivity_mode 0 798 799on property:debug.touch_sensitivity_mode=1 800 setprop persist.vendor.touch_sensitivity_mode 1 801 802# bugreport is triggered by holding down volume down, volume up and power 803service bugreport /system/bin/dumpstate -d -p -z 804 class main 805 disabled 806 oneshot 807 keycodes 114 115 116 808 809on property:ro.boot.hardware.dsds=1 810 setprop persist.radio.multisim.config dsds 811 812# DSDS feature 813# Restart 1st qcrild after SIM config changed 814on property:vendor.radio.sim_num.switch=1to2 && property:persist.radio.multisim.config=dsds 815 restart vendor.qcrild 816 817on property:vendor.radio.sim_num.switch=2to1 && property:persist.radio.multisim.config= 818 restart vendor.qcrild 819 820# Enable 2nd qcrild when the property set to dsds 821on property:persist.radio.multisim.config=dsds 822 start vendor.qcrild2 823 824# Stop 2nd qcrild when the property set to empty string 825on property:persist.radio.multisim.config= 826 stop vendor.qcrild2 827 828on property:sys.retaildemo.enabled=1 829 setprop vendor.thermal.mode retail 830 restart vendor.thermal-engine 831 832# charger driver exposes now finer grain control, map demo mode to those properties 833# NOTE: demo mode can only be exit wiping data (which reset the persist properties) 834on property:sys.retaildemo.enabled=1 835 setprop persist.vendor.charge.stop.level 35 836 setprop persist.vendor.charge.start.level 30 837 838# Athletico ramdump monitor 839service vendor.crash_event_logger /vendor/bin/crash_event_logger -m 840 class main 841 user audio 842 group audio system 843 disabled 844 845# For Japan radio builds, always enforce camera shutter sound 846# Since this property is read by the audio server in system service, 847# it should be written by the system init. 848on property:ro.boot.hardware.radio.subtype=1 849 setprop audio.camerasound.force true 850