| # |
| # 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 |
| mount_all /vendor/etc/fstab.persist --early |
| |
| # 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/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/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/nr_requests 256 |
| |
| # Disable powersaving |
| write /sys/module/lpm_levels/parameters/sleep_disabled 1 |
| |
| wait /dev/block/platform/${ro.boot.boot_devices} |
| symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice |
| |
| # to access UFS/eMMC sysfs directly |
| symlink /sys/devices/platform/${ro.boot.boot_devices} /dev/sys/block/bootdevice |
| |
| # Disable UFS powersaving |
| write /dev/sys/block/bootdevice/clkgate_enable 0 |
| |
| # 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 |
| |
| # set default schedTune value for camera-daemon |
| write /dev/stune/camera-daemon/schedtune.prefer_idle 1 |
| write /dev/stune/camera-daemon/schedtune.boost 0 |
| |
| # 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} |
| |
| # Report max frequency to unity tasks. |
| write /proc/sys/kernel/sched_lib_name "UnityMain,libunity.so" |
| write /proc/sys/kernel/sched_lib_mask_force 255 |
| |
| # 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 |
| |
| # 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 |
| |
| # Restore SeLinux Context for preventing temp.json with |
| # incorrect security context |
| restorecon /mnt/vendor/persist/sensors/registry/temp.json |
| |
| 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 |
| |
| # 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 |
| |
| # 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_clear |
| chown system system /sys/devices/platform/soc/soc:google,battery/power_supply/battery/bd_clear |
| |
| # Charge stats (write 0) |
| chown system system /sys/class/power_supply/battery/charge_stats |
| |
| # 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 |
| |
| # Permission for Pixelstats |
| chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right |
| chown system system /dev/sys/block/bootdevice/slowio_read_cnt |
| chown system system /dev/sys/block/bootdevice/slowio_write_cnt |
| chown system system /dev/sys/block/bootdevice/slowio_unmap_cnt |
| chown system system /dev/sys/block/bootdevice/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 /dev/sys/block/bootdevice/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/nr_requests 128 |
| write /sys/block/sda/queue/iostats 1 |
| write /sys/block/sde/queue/nr_requests 128 |
| write /sys/block/sde/queue/iostats 1 |
| write /sys/block/sdf/queue/nr_requests 128 |
| write /sys/block/sdf/queue/iostats 1 |
| |
| # Limit 4KB discards to 2GB of space |
| write /dev/sys/fs/by-name/userdata/max_small_discards 5120 |
| |
| # Back to default VM settings |
| write /proc/sys/vm/dirty_expire_centisecs 3000 |
| write /proc/sys/vm/dirty_background_ratio 10 |
| |
| # 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 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 775 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 |
| task_profiles ServiceCapacityLow |
| |
| 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 |