# # Copyright (C) 2018 The Android Open-Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.usb.rc import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.diag.rc import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.logging.rc import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.mpssrfs.rc import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.power.rc service vendor.charger /system/bin/charger class charger user system group system wakelock input capabilities SYS_BOOT file /dev/kmsg w file /sys/fs/pstore/console-ramoops-0 r file /sys/fs/pstore/console-ramoops r file /proc/last_kmsg r on early-init mount debugfs debugfs /sys/kernel/debug chmod 0755 /sys/kernel/debug # Disable EAS write /proc/sys/kernel/sched_energy_aware 0 # Skip init trigger for charger mode on early-init && property:ro.boot.mode=charger setprop vendor.skip.init 1 on init # Load display primaries start color_init # Boot time fs tuning write /sys/block/sda/queue/iostats 0 write /sys/block/sda/queue/scheduler cfq write /sys/block/sda/queue/iosched/slice_idle 0 write /sys/block/sda/queue/read_ahead_kb 2048 write /sys/block/sda/queue/nr_requests 256 write /sys/block/sde/queue/iostats 0 write /sys/block/sde/queue/scheduler cfq write /sys/block/sde/queue/iosched/slice_idle 0 write /sys/block/sde/queue/read_ahead_kb 2048 write /sys/block/sde/queue/nr_requests 256 write /sys/block/sdf/queue/iostats 0 write /sys/block/sdf/queue/scheduler cfq write /sys/block/sdf/queue/iosched/slice_idle 0 write /sys/block/sdf/queue/read_ahead_kb 2048 write /sys/block/sdf/queue/nr_requests 256 write /sys/block/dm-0/queue/read_ahead_kb 2048 write /sys/block/dm-1/queue/read_ahead_kb 2048 write /sys/block/dm-2/queue/read_ahead_kb 2048 write /sys/block/dm-3/queue/read_ahead_kb 2048 write /sys/block/dm-4/queue/read_ahead_kb 2048 write /sys/block/dm-5/queue/read_ahead_kb 2048 write /sys/block/dm-6/queue/read_ahead_kb 2048 # Disable UFS powersaving write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 0 # Disable powersaving write /sys/module/lpm_levels/parameters/sleep_disabled 1 wait /dev/block/platform/soc/${ro.boot.bootdevice} symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice # start qseecomd early as we mount system/ vendor/ early # vold needs keymaster that needs qseecomd start vendor.qseecomd start keymaster-4-0 start vendor.citadeld start vendor.keymaster-4-1-citadel # Loading kernel modules in background start insmod_sh # bring back all cores write /sys/devices/system/cpu/cpu0/online 1 write /sys/devices/system/cpu/cpu1/online 1 write /sys/devices/system/cpu/cpu2/online 1 write /sys/devices/system/cpu/cpu3/online 1 write /sys/devices/system/cpu/cpu4/online 1 write /sys/devices/system/cpu/cpu5/online 1 write /sys/devices/system/cpu/cpu6/online 1 write /sys/devices/system/cpu/cpu7/online 1 # configure governor settings for little cluster write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000 # configure governor settings for big cluster write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor schedutil write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us 500 write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us 20000 # configure governor settings for big big CPU write /sys/devices/system/cpu/cpu7/cpufreq/scaling_governor schedutil write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/up_rate_limit_us 500 write /sys/devices/system/cpu/cpu7/cpufreq/schedutil/down_rate_limit_us 20000 # ZRAM setup write /sys/block/zram0/comp_algorithm lz4 write /proc/sys/vm/page-cluster 0 # Some user code relies on ro.boot.hardware.revision setprop ro.boot.hardware.revision ${ro.revision} # set default schedTune value for foreground/top-app write /dev/stune/foreground/schedtune.prefer_idle 1 write /dev/stune/top-app/schedtune.boost 10 write /dev/stune/top-app/schedtune.prefer_idle 1 # create a cpuset for camera-specific processes mkdir /dev/cpuset/camera-daemon write /dev/cpuset/camera-daemon/cpus 0-7 write /dev/cpuset/camera-daemon/mems 0 chown system system /dev/cpuset/camera-daemon chown system system /dev/cpuset/camera-daemon/tasks chmod 0664 /dev/cpuset/camera-daemon/tasks # create an stune group for camera-specific processes mkdir /dev/stune/camera-daemon write /dev/stune/camera-daemon/schedtune.prefer_idle 1 write /dev/stune/camera-daemon/schedtune.boost 0 chown system system /dev/stune/camera-daemon chown system system /dev/stune/camera-daemon/tasks chmod 0664 /dev/stune/camera-daemon/tasks # Wireless charging chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/rxdata chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/txdata chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/rxlen chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/txlen chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/ccreset chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/status chown system system /sys/devices/platform/soc/880000.i2c/i2c-1/1-0061/version chown system system /sys/class/power_supply/wireless/capacity # Allow PAI targeting per hardware SKU setprop ro.oem.key1 ${ro.boot.hardware.sku} # Property used by vintf for sku specific manifests setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku} # Battery Defender chown system system /sys/devices/platform/soc/soc:google,charger/charge_stop_level chown system system /sys/devices/platform/soc/soc:google,charger/charge_start_level chown system system /sys/devices/platform/soc/soc:google,charger/bd_drainto_soc chown system system /sys/devices/platform/soc/soc:google,charger/bd_recharge_soc chown system system /sys/devices/platform/soc/soc:google,charger/bd_recharge_voltage chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_abs_temp chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_soc chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_temp chown system system /sys/devices/platform/soc/soc:google,charger/bd_resume_time chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_temp chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_time chown system system /sys/devices/platform/soc/soc:google,charger/bd_trigger_voltage chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_enable chown system system /sys/devices/platform/soc/soc:google,charger/bd_temp_dry_run chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_enable chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_recharge_soc chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_cnt chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_dry_run chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_trickle_reset_sec # Charge stats (write 0) chown system system /sys/class/power_supply/battery/charge_stats # NFC streset tool name setprop persist.vendor.nfc.streset libstreset # b/134578585 on charger trigger fs start system_suspend start vendor.qrtr-ns start irsc_util start tftp_server start rmt_storage start modem_svc start vendor.per_mgr # Health HAL chown system system /sys/devices/virtual/thermal/tz-by-name/soc/mode on late-init chown system system /sys/devices/virtual/thermal/tz-by-name/sdm-therm-monitor/trip_point_0_temp chown system system /sys/devices/virtual/thermal/tz-by-name/sdm-therm-monitor/trip_point_0_hyst chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_temp chown system system /sys/devices/virtual/thermal/tz-by-name/usbc-therm-monitor/trip_point_0_hyst chown system system /sys/devices/virtual/thermal/tz-by-name/soc/mode chown system system /sys/devices/virtual/thermal/tz-by-name/bcl-virt-monitor/trip_point_0_temp chown system system /sys/devices/virtual/thermal/tz-by-name/bcl-virt-monitor/trip_point_0_hyst # Override thermal HAL config for JAWS board on fs && property:ro.revision="DEV1.0" setprop vendor.thermal.config thermal_info_config_jaws.json on fs mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --early mkdir /mnt/vendor/persist/audio 0770 media audio mkdir /mnt/vendor/persist/data 0700 system system mkdir /mnt/vendor/persist/display 0770 system graphics mkdir /mnt/vendor/persist/rfs 0770 root system mkdir /mnt/vendor/persist/hlos_rfs 0770 root system mkdir /mnt/vendor/persist/secnvm 0770 system system mkdir /mnt/vendor/persist/oslo 0755 system system mkdir /mnt/vendor/persist/touch 0770 system system chmod 0770 /mnt/vendor/persist/rfs chmod 0770 /mnt/vendor/persist/rfs/shared chmod 0770 /mnt/vendor/persist/rfs/msm chmod 0770 /mnt/vendor/persist/rfs/msm/adsp chmod 0770 /mnt/vendor/persist/rfs/msm/mpss chmod 0770 /mnt/vendor/persist/rfs/msm/slpi chmod 0770 /mnt/vendor/persist/rfs/mdm chmod 0770 /mnt/vendor/persist/rfs/mdm/adsp chmod 0770 /mnt/vendor/persist/rfs/mdm/mpss chmod 0770 /mnt/vendor/persist/rfs/mdm/slpi chmod 0770 /mnt/vendor/persist/rfs/mdm/tn chmod 0770 /mnt/vendor/persist/rfs/apq chmod 0770 /mnt/vendor/persist/rfs/apq/gnss chmod 0770 /mnt/vendor/persist/hlos_rfs # for cycle count backup mkdir /mnt/vendor/persist/battery 0700 system system restorecon_recursive /mnt/vendor/persist on post-fs # set RLIMIT_MEMLOCK to 64MB setrlimit 8 67108864 67108864 # Wait qseecomd started wait_for_prop vendor.sys.listeners.registered true # load IPA FWs # This must be started when vendor.sys.listeners.registered is true write /dev/ipa 1 on late-fs # Start services for bootanim wait_for_prop vendor.display.native_display_primaries_ready 1 setprop ro.surface_flinger.display_primary_red ${vendor.display.primary_red} setprop ro.surface_flinger.display_primary_green ${vendor.display.primary_green} setprop ro.surface_flinger.display_primary_blue ${vendor.display.primary_blue} setprop ro.surface_flinger.display_primary_white ${vendor.display.primary_white} # Permission for hwcomposer chown system system /sys/class/backlight/panel0-backlight/brightness chown system system /sys/class/backlight/panel0-backlight/max_brightness chown system system /sys/class/backlight/panel0-backlight/vr_mode chown system system /sys/class/backlight/panel0-backlight/hbm_mode start vendor.power-hal-aidl start surfaceflinger start bootanim start vendor.hwcomposer-2-4 start vendor.configstore-hal start vendor.qti.hardware.display.allocator start vendor.light-1-1 # Wait for keymaster HALs (TEE and StrongBox) exec_start wait_for_strongbox # Mount RW partitions which need run fsck mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --late # Boot time fs tune write /sys/block/dm-7/queue/read_ahead_kb 2048 # Required for time_daemon mkdir /mnt/vendor/persist/time 0770 system system # Start time daemon early so that the system time can be set early start time_daemon # Init sensor specific services start init-sensors-sh # turn off vblank irq immediately after turning off write /sys/module/drm/parameters/vblankoffdelay -1 # Write build info to kdebuginfo. write /sys/module/kdebuginfo/parameters/build_info "${ro.product.name}-${ro.build.type} ${ro.build.version.incremental}" on post-fs-data mkdir /vendor/data/tombstones 0771 system system mkdir /tombstones/modem 0771 system system mkdir /tombstones/lpass 0771 system system mkdir /tombstones/wcnss 0771 system system mkdir /tombstones/dsps 0771 system system mkdir /data/vendor/hbtp 0750 system system mkdir /data/vendor/tloc 0700 system drmrpc mkdir /data/vendor/nnhal 0700 system system mkdir /data/vendor/time 0770 system system mkdir /data/vendor/modem_fdr 0700 root system mkdir /data/vendor/display 0770 system graphics mkdir /data/vendor/camera 0770 system system mkdir /data/vendor/hardware/airbrush 0770 vendor_airbrush vendor_airbrush mkdir /data/vendor/hardware/airbrush/manager 0770 vendor_airbrush vendor_airbrush mkdir /data/vendor/hal_neuralnetworks_darwinn 0770 system system mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera 0770 system system mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera/facessd 0770 system system mkdir /data/vendor/hal_neuralnetworks_darwinn/hal_camera/ultradepth 0770 system system mkdir /data/vendor/rebootescrow 0770 hsm hsm start vendor.rebootescrow-citadel on zygote-start # zygote is started in common init.rc # and now we can continue initialize /data/ mkdir /data/vendor/ipa 0770 radio radio chown radio radio /data/vendor/ipa # Create the directories used by the Wireless subsystem mkdir /data/vendor/wifi 0771 wifi wifi mkdir /data/vendor/wifi/wpa 0770 wifi wifi mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi # Create the directories used by CnE subsystem mkdir /data/vendor/connectivity 0771 radio radio chown radio radio /data/vendor/connectivity # Create directory for radio mkdir /data/vendor/radio 0773 system radio mkdir /data/vendor/modem_stat 0771 system radio write /data/vendor/modem_stat/debug.txt "" chown system radio /data/vendor/modem_stat/debug.txt chmod 0664 /data/vendor/modem_stat/debug.txt # Mark the copy complete flag to not completed write /data/vendor/radio/copy_complete 0 chown radio radio /data/vendor/radio/copy_complete chmod 0660 /data/vendor/radio/copy_complete # File flags for prebuilt ril db file write /data/vendor/radio/prebuilt_db_support 1 chown radio radio /data/vendor/radio/prebuilt_db_support chmod 0400 /data/vendor/radio/prebuilt_db_support write /data/vendor/radio/db_check_done 0 chown radio radio /data/vendor/radio/db_check_done chmod 0660 /data/vendor/radio/db_check_done # Create directories for Location services mkdir /data/vendor/location 0770 gps gps mkdir /data/vendor/location/mq 0770 gps gps mkdir /data/vendor/location/xtwifi 0770 gps gps mkdir /dev/socket/location 0770 gps gps mkdir /dev/socket/location/mq 0770 gps gps mkdir /dev/socket/location/xtra 0770 gps gps #Create directories for wifihal services mkdir /dev/socket/wifihal 0770 wifi wifi chmod 2770 /dev/socket/wifihal # Create directory for audio delta files mkdir /data/vendor/audio 0770 audio audio mkdir /data/vendor/audio/acdbdata 0770 media audio mkdir /data/vendor/audio/acdbdata/delta 0770 media audio on early-boot # Set up sensors-related directories and permissions chmod 775 /mnt/vendor/persist/sensors chmod 664 /mnt/vendor/persist/sensors/sensors_settings chown root system /mnt/vendor/persist/sensors/registry chmod 775 /mnt/vendor/persist/sensors/registry chown root system /mnt/vendor/persist/sensors/registry/registry chmod 775 /mnt/vendor/persist/sensors/registry/registry chmod 664 /mnt/vendor/persist/sensors/registry/registry/sensors_registry chown system root /mnt/vendor/persist/sensors/sensors_settings chown root root /mnt/vendor/persist/sensors/registry/registry/sensors_settings mkdir /data/vendor/sensors 0770 chown system system /data/vendor/sensors chmod 770 /mnt/vendor/persist/audio chmod 660 /mnt/vendor/persist/audio/audio.cal chown media audio /mnt/vendor/persist/audio chown audioserver audio /mnt/vendor/persist/audio/audio.cal # Set up oslo-related directories and permissions chmod 755 /mnt/vendor/persist/oslo chmod 660 /mnt/vendor/persist/oslo/oslo.cal chmod 644 /mnt/vendor/persist/oslo/tx_power.cal chown system system /mnt/vendor/persist/oslo chown system system /mnt/vendor/persist/oslo/oslo.cal chown system system /mnt/vendor/persist/oslo/tx_power.cal # Set up touch directories and permissions chmod 770 /mnt/vendor/persist/touch chown system system /mnt/vendor/persist/touch # Wait for insmod_sh to finish all modules wait_for_prop vendor.all.modules.ready 1 # Update dm-verity state and set partition.*.verified properties verity_update_state # Wait for insmod_sh to finish all boot devices wait_for_prop vendor.all.devices.ready 1 # Permission for Rainbow sensor chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_enable chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_read_byte chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte chown system system /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte chmod 0660 /sys/devices/platform/soc/ac4b000.qcom,cci/ac4b000.qcom,cci:st,rainbow@20/rainbow_write_byte chown system system /dev/vd6281 chmod 0660 /dev/vd6281 chown system system /mnt/vendor/persist/camera/rals_fac_test chmod 0660 /mnt/vendor/persist/camera/rals_fac_test # Permission for Dot and Flood chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_enable chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_enable chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_certified chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_certified chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_write_byte chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_write_byte chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_silego_validated chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/is_silego_validated chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_read_byte chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/led_laser_read_byte chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/itoc_cali_data_store chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/itoc_cali_data_store chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/get_silego_state chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-flood@64/get_silego_state chown system system /dev/lm36011_flood chmod 0660 /dev/lm36011_flood chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_enable chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_enable chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_certified chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_certified chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_write_byte chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_write_byte chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_silego_validated chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/is_silego_validated chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_read_byte chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/led_laser_read_byte chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/itoc_cali_data_store chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/itoc_cali_data_store chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/get_silego_state chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-led-laser-dot@64/get_silego_state chown system system /dev/lm36011_dot chmod 0660 /dev/lm36011_dot # Permission for camera sensor chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@3/set_strobe_type chown system system /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type chmod 0660 sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,cam-sensor@4/set_strobe_type # FG cycle count read from dumpstate + backup restore from health HAL (and pixelstats) chown system system /sys/class/power_supply/maxfg/cycle_counts_bins chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/cycle_counts # Permission for Pixelstats chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_read_cnt chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_write_cnt chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_unmap_cnt chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_sync_cnt chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/codec_state chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/wdsp_stat chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/codec_state chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/wdsp_stat # iaxxx dsp pn for HardwareInfo chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi4/spi4.0/iaxxx-dev/iaxxx_misc/hwinfo_part_number chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx-dev/iaxxx_misc/hwinfo_part_number # Permission for Health Storage HAL chown system system /sys/devices/platform/soc/1d84000.ufshc/manual_gc # Permissions for reading display native color gamut chown system graphics /mnt/vendor/persist/display/native_gamut.csv # Permission to report knowles framework info chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/fw_version chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/host_version chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/package_version chown system system /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/plugin_version chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/file_version chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/host_version chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/package_version chmod 0444 /sys/devices/platform/soc/a8c000.spi/spi_master/spi5/spi5.0/iaxxx/plugin_version on boot # This location is used by QCRIL to host UNIX domain # socket files used for internal IPC within QCRIL # modules mkdir /dev/socket/qmux_radio 0770 radio radio chmod 2770 /dev/socket/qmux_radio setprop wifi.interface wlan0 chown system system /sys/kernel/hbtp/display_pwr start rfs_access # default country code setprop ro.boot.wificountrycode 00 # WLAN debug access chown system system /d/icnss/stats service init-radio-sh /vendor/bin/init.radio.sh class late_start user radio group root radio oneshot on property:init.svc.vendor.charger=running stop vendor.qseecomd stop keymaster-4-0 setprop sys.usb.configfs 1 setprop vendor.setup.power 1 # keep one LITTLE and one big write /sys/devices/system/cpu/cpu1/online 0 write /sys/devices/system/cpu/cpu2/online 0 write /sys/devices/system/cpu/cpu3/online 0 write /sys/devices/system/cpu/cpu5/online 0 write /sys/devices/system/cpu/cpu6/online 0 write /sys/devices/system/cpu/cpu7/online 0 # Enable thermal mitigation write /sys/devices/virtual/thermal/tz-by-name/backup-charge/mode enabled on property:sys.boot_completed=1 setprop vendor.setup.power 1 # Runtime fs tuning write /sys/block/sda/queue/read_ahead_kb 128 write /sys/block/sda/queue/nr_requests 128 write /sys/block/sda/queue/iostats 1 write /sys/block/sde/queue/read_ahead_kb 128 write /sys/block/sde/queue/nr_requests 128 write /sys/block/sde/queue/iostats 1 write /sys/block/sdf/queue/read_ahead_kb 128 write /sys/block/sdf/queue/nr_requests 128 write /sys/block/sdf/queue/iostats 1 write /sys/block/dm-0/queue/read_ahead_kb 128 write /sys/block/dm-1/queue/read_ahead_kb 128 write /sys/block/dm-2/queue/read_ahead_kb 128 write /sys/block/dm-3/queue/read_ahead_kb 128 write /sys/block/dm-4/queue/read_ahead_kb 128 write /sys/block/dm-5/queue/read_ahead_kb 128 write /sys/block/dm-6/queue/read_ahead_kb 128 write /sys/block/dm-7/queue/read_ahead_kb 128 # Back to default VM settings write /proc/sys/vm/dirty_expire_centisecs 3000 write /proc/sys/vm/dirty_background_ratio 10 # Block layer tuning: discard chunk size up to 128MB # Otherwise, contiguous discards can be merged write /sys/block/sda/queue/discard_max_bytes 134217728 # Enable ZRAM on boot_complete rm /data/unencrypted/zram_swap swapon_all /vendor/etc/fstab.${ro.boot.hardware.platform} write /proc/sys/vm/swappiness 100 # Setup runtime cpusets write /dev/cpuset/top-app/cpus 0-7 write /dev/cpuset/foreground/cpus 0-3,5-6 write /dev/cpuset/background/cpus 0-1 write /dev/cpuset/system-background/cpus 0-3 write /dev/cpuset/restricted/cpus 0-3 # Setup runtime blkio # value for group_idle is us write /dev/blkio/blkio.weight 1000 write /dev/blkio/background/blkio.weight 200 write /dev/blkio/blkio.group_idle 2000 write /dev/blkio/background/blkio.group_idle 0 # UFS health chmod 755 /sys/kernel/debug/ufshcd0 chmod 644 /sys/kernel/debug/ufshcd0/show_hba chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats chmod 644 /sys/kernel/debug/ufshcd0/stats/io_stats chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats # HardwareInfo files chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/serial_number chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/panel_vendor_name chmod 444 /sys/devices/platform/soc/soc:qcom,dsi-display-primary/panel_info/panel0/panel_extinfo chmod 644 /sys/kernel/debug/regmap/1-0036/registers chmod 644 /sys/kernel/debug/regmap/1-000b/registers chmod 644 /sys/kernel/debug/regmap/2-0036/registers chmod 644 /sys/kernel/debug/regmap/2-000b/registers # Maxim FG dump for dumpstate chown system system /sys/kernel/debug/regmap/1-0036/registers chown system system /sys/kernel/debug/regmap/1-000b/registers chown system system /sys/kernel/debug/google_battery/cycle_count_bins chown system system /sys/kernel/debug/google_battery/ssoc_gdf chown system system /sys/kernel/debug/google_battery/ssoc_rls chown system system /sys/kernel/debug/google_battery/ssoc_uic chown system system /sys/kernel/debug/google_battery/ssoc_uicurve chown system system /sys/kernel/debug/google_charger/pps_op_ua chown system system /sys/kernel/debug/google_charger/pps_out_uv # Permission for Athletico chown system system /dev/sensor_tunnel chmod 0660 /dev/sensor_tunnel chown system system /dev/iaxxx-module-celldrv chmod 0660 /dev/iaxxx-module-celldrv service vendor.per_mgr /vendor/bin/pm-service user system group system ioprio rt 4 service per_proxy /vendor/bin/pm-proxy class core user system group system disabled on property:persist.vendor.modem.esim.reset=done && property:persist.vendor.se.pixel_aram=skipped start vendor.per_mgr on property:persist.vendor.modem.esim.reset=done && property:persist.vendor.se.pixel_aram=removed start vendor.per_mgr on property:persist.vendor.modem.esim.reset=noneed && property:persist.vendor.se.pixel_aram=skipped start vendor.per_mgr on property:persist.vendor.modem.esim.reset=noneed && property:persist.vendor.se.pixel_aram=removed start vendor.per_mgr on property:sys.boot_completed=1 start vendor.per_mgr on property:init.svc.vendor.per_mgr=running start per_proxy on property:sys.shutdown.requested=* stop per_proxy service vendor.qseecomd /vendor/bin/qseecomd class core user root group root service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-engine-${ro.hardware}-${vendor.thermal.mode:-normal}_mode.conf class main user root group root service init-sensors-sh /vendor/bin/init.sensors.sh class main user root group root system disabled oneshot service vendor.adsprpcd /vendor/bin/adsprpcd class main user root group media setenv ADSP_LIBRARY_PATH /vendor/dsp;/vendor/lib/rfsa/adsp;/system/lib/rfsa/adsp service vendor.adsprpcd_audiopd /vendor/bin/adsprpcd audiopd class main user media group media service vendor.cdsprpcd /vendor/bin/cdsprpcd class main user system group system service vendor.lowi /vendor/bin/sscrpcd class core user system group system wakelock capabilities BLOCK_SUSPEND service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon class main user radio socket ims_qmid stream 0660 system radio group radio log diag service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon class main user radio socket ims_datad stream 0660 system radio group radio wifi inet log diag disabled service vendor.imsrcsservice /system/vendor/bin/imsrcsd class main user radio group radio diag inet log wakelock on property:vendor.ims.QMI_DAEMON_STATUS=1 start vendor.imsdatadaemon service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon class main user radio group radio inet log service cnd /vendor/bin/cnd class main user system group system wifi inet radio wakelock net_admin service wait_for_strongbox /vendor/bin/hw/wait_for_strongbox user root group root system priority -20 ioprio rt 0 on property:vendor.ims.DATA_DAEMON_STATUS=1 restart vendor.ims_rtp_daemon service vendor.qrtr-ns /vendor/bin/qrtr-ns -f class core user vendor_qrtr group vendor_qrtr capabilities NET_BIND_SERVICE service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" class core user root oneshot service rmt_storage /vendor/bin/rmt_storage user root ioprio rt 0 shutdown critical service tftp_server /vendor/bin/tftp_server class core user root group root system service modem_svc /vendor/bin/modem_svc -q class core user root group system capabilities NET_BIND_SERVICE service vendor.ss_ramdump /vendor/bin/subsystem_ramdump class main user root group system disabled service vendor.ssr_setup /vendor/bin/ssr_setup oneshot disabled on property:persist.vendor.sys.ssr.restart_level=* start vendor.ssr_setup on post-fs-data && property:persist.vendor.sys.ssr.enable_ramdumps=1 && property:vendor.skip.init=0 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 mkdir /data/vendor/wifidump 771 root system mkdir /data/vendor/ramdump 771 root system mkdir /data/vendor/ssrdump 771 root system mkdir /data/vendor/ssrlog 771 root system start vendor.ss_ramdump start vendor.crash_event_logger on property:persist.vendor.sys.ssr.enable_ramdumps=0 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 on property:init.svc.vendor.hwcomposer-2-4=stopped stop ppd on property:init.svc.vendor.hwcomposer-2-4=running start ppd service insmod_sh /vendor/bin/init.insmod.sh /vendor/etc/init.insmod.${ro.hardware}.cfg class main user root group root system disabled oneshot service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf socket msm_irqbalance seqpacket 660 root system class core user root group root writepid /dev/cpuset/system-background/tasks service pd_mapper /vendor/bin/pd-mapper class core user system group system capabilities NET_BIND_SERVICE service cnss-daemon /vendor/bin/cnss-daemon -n -l class late_start user system group system inet wifi service loc_launcher /vendor/bin/loc_launcher class late_start user gps group gps # Allow access to touch glove_mode sysfs node on property:vendor.all.modules.ready=1 chown system system /sys/class/spi_master/spi1/spi1.0/glove_mode # Toggle glove_mode according to touch_sensitivity_mode on property:persist.vendor.touch_sensitivity_mode=0 && property:sys.boot_completed=1 write /sys/class/spi_master/spi1/spi1.0/glove_mode 00 on property:persist.vendor.touch_sensitivity_mode=1 && property:sys.boot_completed=1 write /sys/class/spi_master/spi1/spi1.0/glove_mode 01 # Route touch_sensitivity_mode to persist on property:debug.touch_sensitivity_mode=0 setprop persist.vendor.touch_sensitivity_mode 0 on property:debug.touch_sensitivity_mode=1 setprop persist.vendor.touch_sensitivity_mode 1 # bugreport is triggered by holding down volume down, volume up and power service bugreport /system/bin/dumpstate -d -p -z class main disabled oneshot keycodes 114 115 116 on property:ro.boot.hardware.dsds=1 setprop persist.radio.multisim.config dsds # DSDS feature # Restart 1st qcrild after SIM config changed on property:vendor.radio.sim_num.switch=1to2 && property:persist.radio.multisim.config=dsds restart vendor.qcrild on property:vendor.radio.sim_num.switch=2to1 && property:persist.radio.multisim.config= restart vendor.qcrild # Enable 2nd qcrild when the property set to dsds on property:persist.radio.multisim.config=dsds start vendor.qcrild2 # Stop 2nd qcrild when the property set to empty string on property:persist.radio.multisim.config= stop vendor.qcrild2 on property:sys.retaildemo.enabled=1 setprop vendor.thermal.mode retail restart vendor.thermal-engine # charger driver exposes now finer grain control, map demo mode to those properties # NOTE: demo mode can only be exit wiping data (which reset the persist properties) on property:sys.retaildemo.enabled=1 setprop persist.vendor.charge.stop.level 35 setprop persist.vendor.charge.start.level 30 # Athletico ramdump monitor service vendor.crash_event_logger /vendor/bin/crash_event_logger -m class main user audio group audio system disabled # For Japan radio builds, always enforce camera shutter sound # Since this property is read by the audio server in system service, # it should be written by the system init. on property:ro.boot.hardware.radio.subtype=1 setprop audio.camerasound.force true on init && property:ro.boot.slot_successful=no write /sys/module/msm_poweroff/parameters/warm_reset 1 # Set or clear the warm reset flag upon the change of system property. The flag itself is set # by writing a sysfs file; and the file will be read by kernel. on property:ota.warm_reset=1 write /sys/module/msm_poweroff/parameters/warm_reset 1 on property:ota.warm_reset=0 write /sys/module/msm_poweroff/parameters/warm_reset 0