| on charger |
| write /sys/devices/system/cpu/cpu2/online 0 |
| write /sys/devices/system/cpu/cpu3/online 0 |
| write /sys/module/lpm_levels/parameters/sleep_disabled 0 |
| wait /dev/block/platform/soc/624000.ufshc |
| # Enable UFS powersaving |
| write /sys/devices/soc/624000.ufshc/clkgate_enable 1 |
| write /sys/devices/soc/624000.ufshc/624000.ufshc:ufs_variant/pm_qos_enable 1 |
| write /sys/module/lpm_levels/parameters/sleep_disabled N |
| |
| service vendor.charger /system/bin/charger |
| class charger |
| seclabel u:r:charger:s0 |
| |
| on early-init |
| mount debugfs debugfs /sys/kernel/debug |
| chmod 0755 /sys/kernel/debug |
| |
| on init |
| # Disable UFS powersaving |
| write /sys/devices/soc/624000.ufshc/clkgate_enable 0 |
| write /sys/devices/soc/624000.ufshc/624000.ufshc:ufs_variant/pm_qos_enable 0 |
| write /sys/module/lpm_levels/parameters/sleep_disabled Y |
| |
| # QSEE rpmb listener need symlink for bootdevice |
| wait /dev/block/platform/soc/${ro.boot.bootdevice} |
| symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice |
| |
| # We have vendor/ as early mount so we can start qseecomd earlier |
| # early mount partions e.g. vendor/ will be mounted in init first stage |
| # see b/27805372 |
| start vendor.qseecomd |
| |
| # Support legacy paths |
| symlink /sdcard /mnt/sdcard |
| symlink /sdcard /storage/sdcard0 |
| |
| # Setup cpusets used by the VR services. |
| mkdir /dev/cpuset/kernel 0750 root system |
| write /dev/cpuset/kernel/cpus 0 |
| write /dev/cpuset/kernel/mems 0 |
| chown system system /dev/cpuset/kernel/tasks |
| chmod 0660 /dev/cpuset/kernel/tasks |
| |
| mkdir /dev/cpuset/system 0750 root system |
| write /dev/cpuset/system/cpus 0 |
| write /dev/cpuset/system/mems 0 |
| chown system system /dev/cpuset/system/tasks |
| chmod 0660 /dev/cpuset/system/tasks |
| |
| mkdir /dev/cpuset/system/performance 0750 root system |
| write /dev/cpuset/system/performance/cpus 0 |
| write /dev/cpuset/system/performance/mems 0 |
| chown system system /dev/cpuset/system/performance/tasks |
| chmod 0660 /dev/cpuset/system/performance/tasks |
| |
| mkdir /dev/cpuset/system/background 0750 root system |
| write /dev/cpuset/system/background/cpus 0 |
| write /dev/cpuset/system/background/mems 0 |
| chown system system /dev/cpuset/system/background/tasks |
| chmod 0660 /dev/cpuset/system/background/tasks |
| |
| mkdir /dev/cpuset/application 0750 root system |
| write /dev/cpuset/application/cpus 0 |
| write /dev/cpuset/application/mems 0 |
| chown system system /dev/cpuset/application/tasks |
| chmod 0660 /dev/cpuset/application/tasks |
| |
| mkdir /dev/cpuset/application/performance 0750 root system |
| write /dev/cpuset/application/performance/cpus 0 |
| write /dev/cpuset/application/performance/mems 0 |
| chown system system /dev/cpuset/application/performance/tasks |
| chmod 0660 /dev/cpuset/application/performance/tasks |
| |
| mkdir /dev/cpuset/application/background 0750 root system |
| write /dev/cpuset/application/background/cpus 0 |
| write /dev/cpuset/application/background/mems 0 |
| chown system system /dev/cpuset/application/background/tasks |
| chmod 0660 /dev/cpuset/application/background/tasks |
| |
| # set default schedTune value for foreground/top-app (only affects EAS) |
| 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 |
| write /dev/stune/rt/schedtune.boost 30 |
| write /dev/stune/rt/schedtune.prefer_idle 1 |
| |
| # Create UDS structure for base VR services. |
| mkdir /dev/socket/pdx 0775 system system |
| mkdir /dev/socket/pdx/system 0775 system system |
| mkdir /dev/socket/pdx/system/buffer_hub 0775 system system |
| mkdir /dev/socket/pdx/system/performance 0775 system system |
| mkdir /dev/socket/pdx/system/vr 0775 system system |
| mkdir /dev/socket/pdx/system/vr/display 0775 system system |
| mkdir /dev/socket/pdx/system/vr/pose 0775 system system |
| mkdir /dev/socket/pdx/system/vr/sensors 0775 system system |
| |
| # ZRAM setup |
| write /sys/block/zram0/comp_algorithm lz4 |
| write /proc/sys/vm/page-cluster 0 |
| |
| on fs |
| mount_all /vendor/etc/fstab.${ro.hardware} --early |
| |
| # Keeping following partitions outside fstab file. As user may not have |
| # these partition flashed on the device. Failure to mount any partition in fstab file |
| # results in failure to launch late-start class. |
| |
| wait /dev/block/platform/soc/624000.ufshc/sda18 |
| mount ext4 /dev/block/platform/soc/624000.ufshc/by-name/cache /cache nosuid nodev noatime barrier=1 |
| |
| restorecon_recursive /persist |
| mkdir /persist/data 0700 system system |
| |
| # for android.hardware.health@2.0-service.marlin cycle count backup |
| mkdir /persist/battery 0700 system system |
| |
| on post-fs |
| symlink /dev/block/platform/soc.0/f9824900.sdhci /dev/block/bootdevice |
| # Wait qseecomd started |
| wait_for_prop sys.listeners.registered true |
| |
| on late-fs |
| # Start devices by sysfs trigger |
| start vendor.devstart_sh |
| |
| # Start services for bootanim |
| start surfaceflinger |
| start bootanim |
| start vendor.hwcomposer-2-1 |
| start vendor.configstore-hal |
| start vendor.gralloc-2-0 |
| |
| # Wait for hwservicemanager ready since fsck might be triggered in mount_all --late |
| # In such case, init won't responce the property_set from hwservicemanager and then |
| # cause services for bootanim not running. |
| wait_for_prop hwservicemanager.ready true |
| # Mount RW partitions which need run fsck |
| mount_all /vendor/etc/fstab.${ro.hardware} --late |
| |
| # boot time fs tune |
| 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/dm-0/queue/read_ahead_kb 2048 |
| write /sys/block/dm-1/queue/read_ahead_kb 2048 |
| |
| # Start time daemon early so that the system time can be set early |
| start vendor.time_daemon |
| |
| on post-fs-data |
| # We can start netd here before in is launched in common init.rc on zygote-start |
| start netd |
| # Set sku property |
| start vendor.mid_sh |
| # Wait until the system time is set |
| wait_for_prop sys.time.set true |
| |
| # b/36601397 Setup debug folders for camera |
| mkdir /data/vendor/camera 0770 camera camera |
| |
| # zygote need to be started after otapreopt which will be done on post-fs-data |
| on zygote-start |
| # zygote is started in common init.rc |
| # and now we can continue initialize /data/ |
| mkdir /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 /persist/data/sfs 0700 system system |
| mkdir /persist/data/tz 0700 system system |
| mkdir /data/misc/dts 0770 media audio |
| mkdir /data/misc/tloc/ 0700 system drmrpc |
| mkdir /data/misc/qvop 0660 system system |
| mkdir /data/misc/audio_pp 0771 media audio |
| mkdir /data/preloads 0775 system system |
| mkdir /data/preloads/media 0775 system system |
| mkdir /data/preloads/demo 0775 system system |
| mkdir /data/misc/netmgr 0770 system radio |
| |
| # Disable verbosity for sensorhub |
| write /d/sps/debug_level_option 4 |
| write /d/sps/log_level_sel 4 |
| # Write to the base address of BAM pipe |
| write /d/sps/bam_addr 122961920 |
| |
| # Create directory for TZ Apps |
| mkdir /data/misc/qsee 0770 system system |
| |
| mkdir /data/media 0770 media_rw media_rw |
| chown media_rw media_rw /data/media |
| |
| mkdir /data/misc/ipa 0700 net_admin net_admin |
| |
| # Create the directories used by the Wireless subsystem |
| mkdir /data/misc/wifi 0770 wifi wifi |
| mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi |
| mkdir /data/vendor/wifi 0771 wifi wifi |
| mkdir /data/vendor/wifi/wpa 0770 wifi wifi |
| mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi |
| mkdir /data/misc/dhcp 0770 dhcp dhcp |
| chown dhcp dhcp /data/misc/dhcp |
| |
| # Create port-bridge log dir |
| mkdir /data/misc/port_bridge 0770 radio radio |
| chmod 0770 /data/misc/port_bridge |
| |
| # Create the directories used by CnE subsystem |
| mkdir /data/connectivity 0771 system system |
| chown system system /data/connectivity |
| |
| # Create the directories used by DPM subsystem |
| mkdir /data/dpm 0771 system system |
| chown system system /data/dpm |
| |
| mkdir /data/dpm/nsrm 0771 system system |
| chown system system /data/dpm/nsrm |
| |
| # Create directory used by audio subsystem |
| mkdir /data/vendor/audio 0770 audio audio |
| |
| # Create directory for audio delta files |
| mkdir /data/vendor/audio/acdbdata 0770 media audio |
| mkdir /data/vendor/audio/acdbdata/delta 0770 media audio |
| |
| # Create directory used by the DASH client |
| mkdir /data/misc/dash 0770 media audio |
| |
| # Create directory used by display clients |
| mkdir /data/misc/display 0770 system graphics |
| mkdir /persist/display 0770 system graphics |
| |
| # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections |
| # We chown/chmod /persist again so because mount is run as root + defaults |
| chown system system /persist |
| chmod 0771 /persist |
| chmod 0664 /sys/devices/platform/msm_sdcc.1/polling |
| chmod 0664 /sys/devices/platform/msm_sdcc.2/polling |
| chmod 0664 /sys/devices/platform/msm_sdcc.3/polling |
| chmod 0664 /sys/devices/platform/msm_sdcc.4/polling |
| |
| # Chown polling nodes as needed from UI running on system server |
| chown system system /sys/devices/platform/msm_sdcc.1/polling |
| chown system system /sys/devices/platform/msm_sdcc.2/polling |
| chown system system /sys/devices/platform/msm_sdcc.3/polling |
| chown system system /sys/devices/platform/msm_sdcc.4/polling |
| |
| # Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant |
| mkdir /data/system 0775 system system |
| |
| # Create directories for Location services |
| mkdir /data/misc/location 0770 gps gps |
| mkdir /data/misc/location/mq 0770 gps gps |
| mkdir /data/misc/location/xtwifi 0770 gps gps |
| mkdir /data/misc/location/gpsone_d 0770 system gps |
| mkdir /data/misc/location/quipc 0770 gps system |
| mkdir /data/misc/location/gsiff 0770 gps gps |
| |
| # migrating the GNSS hal to vendor requires this to be relabeled; the |
| # directory itself is created by /vendor/bin/xtra-daemon |
| chown gps gps /data/misc/location/xtra |
| chmod 0750 /data/misc/location/xtra |
| chown gps gps /data/misc/location/xtra/socket_hal_xtra |
| chmod 0660 /data/misc/location/xtra/socket_hal_xtra |
| chown gps gps /data/misc/location/xtra/xtra.sqlite |
| |
| # Create directory from IMS services |
| mkdir /data/shared 0755 |
| chown system system /data/shared |
| |
| # Create directory for FOTA |
| mkdir /data/fota 0771 |
| chown system system /data/fota |
| |
| # Create /data/time folder for time-services |
| mkdir /data/time/ 0700 system system |
| |
| mkdir /data/audio/ 0770 media audio |
| |
| # Create a folder for audio delta files |
| mkdir /data/audio/acdbdata 0770 media audio |
| mkdir /data/audio/acdbdata/delta 0770 media audio |
| |
| setprop vold.post_fs_data_done 1 |
| |
| # Create FM dir for patchdownloader |
| mkdir /data/misc/fm 0770 system system |
| chmod 0770 /data/misc/fm |
| |
| # RIDL data |
| mkdir /data/misc/SelfHost/ 0710 system shell |
| mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell |
| mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell |
| mkdir /data/misc/SelfHost/storage/ 0700 system shell |
| mkdir /data/misc/SelfHost/Running/ 2750 system shell |
| mkdir /data/misc/SelfHost/socket/ 2770 system system |
| |
| # Create PERFD deamon related dirs |
| setprop ro.min_freq_0 384000 |
| mkdir /data/misc/perfd 0755 root system |
| chmod 2755 /data/misc/perfd |
| mkdir /data/system/perfd 0770 root system |
| rm /data/system/perfd/default_values |
| chmod 2770 /data/system/perfd |
| |
| # NFC local data and nfcee xml storage |
| mkdir /data/vendor/nfc 0770 nfc nfc |
| |
| # Create IOP deamon related dirs |
| mkdir /data/misc/iop 0770 root system |
| |
| # Mark the copy complete flag to not completed |
| write /data/misc/radio/copy_complete 0 |
| chown radio radio /data/misc/radio/copy_complete |
| chmod 0660 /data/misc/radio/copy_complete |
| |
| # File flags for prebuilt ril db file |
| write /data/misc/radio/prebuilt_db_support 1 |
| chown radio radio /data/misc/radio/prebuilt_db_support |
| chmod 0400 /data/misc/radio/prebuilt_db_support |
| write /data/misc/radio/db_check_done 0 |
| chown radio radio /data/misc/radio/db_check_done |
| chmod 0660 /data/misc/radio/db_check_done |
| |
| chown system system /sys/class/kgsl/kgsl-3d0/devfreq/max_freq |
| chmod 0660 /sys/class/kgsl/kgsl-3d0/devfreq/max_freq |
| chown system system /sys/class/kgsl/kgsl-3d0/devfreq/min_freq |
| chmod 0660 /sys/class/kgsl/kgsl-3d0/devfreq/min_freq |
| chown system system /sys/class/devfreq/soc:qcom,gpubw/min_freq |
| chmod 0660 /sys/class/devfreq/soc:qcom,gpubw/min_freq |
| |
| on early-boot |
| # set RLIMIT_MEMLOCK to 64MB |
| setrlimit 8 67108864 67108864 |
| # Allow subsystem (modem etc) debugging |
| write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug} |
| write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout} |
| write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout} |
| write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout} |
| # Update dm-verity state and set partition.*.verified properties |
| verity_update_state |
| |
| # access permission for secure touch |
| chmod 0660 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable |
| chmod 0440 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch |
| |
| chmod 0664 /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en |
| chown system graphics /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en |
| |
| chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable |
| chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch |
| |
| # Permission for laser sensor driver |
| chown camera camera /sys/class/htc_laser/laser/enable_ps_sensor |
| |
| # Permission for LED driver |
| chown system system /sys/class/leds/red/on_off_ms |
| chown system system /sys/class/leds/green/on_off_ms |
| chown system system /sys/class/leds/blue/on_off_ms |
| chown system system /sys/class/leds/red/rgb_start |
| chown system system /sys/class/leds/green/rgb_start |
| chown system system /sys/class/leds/blue/rgb_start |
| chown system system /sys/class/leds/lcd-backlight/low_persistence |
| |
| # Permission for vibrator amplitude |
| chown system system /sys/class/timed_output/vibrator/voltage_level |
| |
| # wait for devices |
| wait_for_prop sys.qcom.devup 1 |
| |
| # vendor.health-hal needs to be able to RW |
| chown system system /sys/devices/soc/qpnp-fg-17/cycle_counts_bins |
| # HardwareInfo needs to be able to read CC bins |
| chmod 644 /sys/devices/soc/qpnp-fg-17/cycle_counts_bins |
| |
| # dumpstate needs to read, vendor.health-hal needs to be able to RW |
| chown system system /sys/devices/soc/qpnp-fg-17/power_supply/bms/charge_full |
| # HardwareInfo needs to be able to read charge_full |
| chmod 644 /sys/devices/soc/qpnp-fg-17/power_supply/bms/charge_full |
| |
| on boot |
| # from init.power.sh |
| # disable thermal hotplug to switch governor |
| write /sys/module/msm_thermal/core_control/enabled 0 |
| |
| # bring back main cores CPU 0,2 |
| write /sys/devices/system/cpu/cpu0/online 1 |
| write /sys/devices/system/cpu/cpu2/online 1 |
| |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 300000 |
| |
| # EAS: Capping the max frequency of silver core to 1.6GHz |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 1593600 |
| |
| write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 300000 |
| |
| # if EAS is present, switch to sched governor (no effect if not EAS) |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "sched" |
| write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor "sched" |
| |
| # re-enable thermal hotplug |
| write /sys/module/msm_thermal/core_control/enabled 1 |
| |
| # Setting b.L scheduler parameters |
| write /proc/sys/kernel/sched_migration_fixup 1 |
| write /proc/sys/kernel/sched_upmigrate 95 |
| write /proc/sys/kernel/sched_downmigrate 90 |
| write /proc/sys/kernel/sched_freq_inc_notify 400000 |
| write /proc/sys/kernel/sched_freq_dec_notify 400000 |
| write /proc/sys/kernel/sched_spill_nr_run 3 |
| write /proc/sys/kernel/sched_init_task_load 100 |
| |
| # Exec init.foreground.sh in background |
| start vendor.foreground_sh |
| # add a cpuset for the camera daemon |
| # we want all cores for camera |
| mkdir /dev/cpuset/camera-daemon |
| write /dev/cpuset/camera-daemon/cpus 0-3 |
| 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 |
| |
| # Update DVR cpusets to boot-time values. |
| write /dev/cpuset/kernel/cpus 0-3 |
| write /dev/cpuset/system/cpus 0-3 |
| write /dev/cpuset/system/performance/cpus 0-3 |
| write /dev/cpuset/system/background/cpus 0-3 |
| write /dev/cpuset/system/cpus 0-3 |
| write /dev/cpuset/application/cpus 0-3 |
| write /dev/cpuset/application/performance/cpus 0-3 |
| write /dev/cpuset/application/background/cpus 0-3 |
| write /dev/cpuset/application/cpus 0-3 |
| |
| # Bluetooth |
| chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power |
| chown bluetooth net_bt /sys/class/rfkill/rfkill0/type |
| chown bluetooth net_bt /sys/class/rfkill/rfkill0/state |
| chown bluetooth bluetooth /proc/bluetooth/sleep/proto |
| chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm |
| chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite |
| chown system system /sys/module/sco/parameters/disable_esco |
| chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set |
| chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set |
| chmod 0660 /sys/module/bluetooth_power/parameters/power |
| chmod 0660 /sys/module/hci_smd/parameters/hcismd_set |
| chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set |
| chmod 0660 /sys/class/rfkill/rfkill0/state |
| chmod 0660 /proc/bluetooth/sleep/proto |
| chown bluetooth net_bt /dev/ttyHS0 |
| chmod 0660 /sys/module/hci_uart/parameters/ath_lpm |
| chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite |
| chmod 0660 /dev/ttyHS0 |
| chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock |
| chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock |
| |
| chmod 0660 /dev/ttyHS2 |
| chown bluetooth bluetooth /dev/ttyHS2 |
| |
| chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo |
| chmod 0660 /sys/class/rfkill/rfkill0/device/extldo |
| |
| # Create QMUX deamon socket area |
| mkdir /dev/socket/qmux_radio 0770 radio radio |
| chmod 2770 /dev/socket/qmux_radio |
| mkdir /dev/socket/qmux_audio 0770 media audio |
| chmod 2770 /dev/socket/qmux_audio |
| mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth |
| chmod 2770 /dev/socket/qmux_bluetooth |
| mkdir /dev/socket/qmux_gps 0770 gps gps |
| chmod 2770 /dev/socket/qmux_gps |
| |
| mkdir /persist/drm 0770 system system |
| |
| # Create NETMGR daemon socket area |
| mkdir /dev/socket/netmgr 0750 radio radio |
| |
| setprop wifi.interface wlan0 |
| |
| setprop ro.telephony.call_ring.multiple false |
| |
| # Remove SUID bit for iproute2 ip tool |
| chmod 0755 /system/bin/ip |
| |
| chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state |
| |
| # For bridgemgr daemon to inform the USB driver of the correct transport |
| chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport |
| |
| # For port-bridge daemon |
| chown radio radio /dev/at_mdm0 |
| chown radio radio /dev/at_usb0 |
| |
| setprop net.tcp.2g_init_rwnd 10 |
| |
| # Assign TCP buffer thresholds to be ceiling value of technology maximums |
| # Increased technology maximums should be reflected here. |
| write /proc/sys/net/core/rmem_max 8388608 |
| write /proc/sys/net/core/wmem_max 8388608 |
| |
| # To prevent out of order acknowledgements from making |
| # connection tracking to treat them as not belonging to |
| # the connection they belong to. |
| # Otherwise, a weird issue happens in which some long |
| # connections on high-throughput links get dropped when |
| # an ack packet comes out of order |
| write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1 |
| |
| # Allow access for CCID command/response timeout configuration |
| chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout |
| |
| # bond0 used by FST Manager |
| chown wifi wifi /sys/class/net/bond0/bonding/queue_id |
| |
| write /proc/sys/net/ipv6/conf/default/accept_ra_defrtr 1 |
| |
| # bluetooth init |
| setprop ro.qualcomm.bluetooth.opp true |
| setprop ro.qualcomm.bluetooth.hfp true |
| setprop ro.qualcomm.bluetooth.hsp true |
| setprop ro.qualcomm.bluetooth.pbap true |
| setprop ro.qualcomm.bluetooth.ftp true |
| setprop ro.qualcomm.bluetooth.nap true |
| setprop ro.bluetooth.sap true |
| setprop ro.bluetooth.dun true |
| setprop ro.qualcomm.bluetooth.map true |
| setprop ro.bluetooth.hfp.ver 1.6 |
| |
| # Wifi firmware reload path |
| chown wifi wifi /sys/module/wlan/parameters/fwpath |
| |
| # QCOM FG SRAM dump for dumpstate |
| chown system system /d/fg_memif/data |
| chown system system /d/fg_memif/count |
| chown system system /d/fg_memif/address |
| |
| on property:wc_transport.start_hci=true |
| start vendor.start_hci_filter |
| |
| on property:wc_transport.start_hci=false |
| stop vendor.start_hci_filter |
| |
| on property:wc_transport.start_root=true |
| start vendor.hci_filter_root |
| |
| on property:wc_transport.start_root=false |
| stop vendor.hci_filter_root |
| |
| service vendor.per_mgr /vendor/bin/pm-service |
| class core |
| user system |
| group system |
| ioprio rt 4 |
| |
| service vendor.per_proxy /vendor/bin/pm-proxy |
| class core |
| user system |
| group system |
| disabled |
| |
| on property:ro.build.type=userdebug |
| write /sys/class/uio/uio1/device/rtel/rtel 1 |
| |
| on property:init.svc.vendor.per_mgr=running |
| start vendor.per_proxy |
| |
| on property:sys.uidcpupower=* |
| write /proc/uid_cpupower/enable 1 |
| |
| on property:sys.uidcpupower=0 |
| write /proc/uid_cpupower/enable 0 |
| |
| on property:sys.shutdown.requested=* |
| stop vendor.per_proxy |
| # Disable subsystem restart |
| write /sys/module/subsystem_restart/parameters/disable_restart_work 0x9889deed |
| |
| service vendor.qseecomd /vendor/bin/qseecomd |
| class core |
| user root |
| group root |
| |
| service vendor.thermal-engine /vendor/bin/thermal-engine -c ${sys.qcom.thermalcfg:-/vendor/etc/thermal-engine.conf} |
| class hal |
| user root |
| group root system diag |
| socket thermal-send-client stream 0666 system system |
| socket thermal-recv-client stream 0660 system system |
| socket thermal-recv-passive-client stream 0666 system system |
| |
| service vendor.time_daemon /vendor/bin/time_daemon |
| class core |
| user root |
| group root |
| |
| service vendor.adsprpcd /vendor/bin/adsprpcd |
| class main |
| user media |
| group media |
| |
| service vendor.imsqmidaemon /vendor/bin/imsqmidaemon |
| class main |
| user system |
| socket ims_qmid stream 0660 system radio |
| group radio log diag |
| |
| service vendor.imsdatadaemon /vendor/bin/imsdatadaemon |
| class main |
| user system |
| socket ims_datad stream 0660 system radio |
| group system wifi radio inet log diag |
| disabled |
| |
| on property:sys.ims.QMI_DAEMON_STATUS=1 |
| start vendor.imsdatadaemon |
| |
| service vendor.ims_rtp_daemon /vendor/bin/ims_rtp_daemon |
| class main |
| user system |
| socket ims_rtpd stream 0660 system radio |
| group radio diag inet log |
| disabled |
| |
| |
| on property:sys.ims.DATA_DAEMON_STATUS=1 |
| start vendor.ims_rtp_daemon |
| |
| service vendor.ssr_setup /vendor/bin/ssr_setup |
| class main |
| user root |
| group root system |
| oneshot |
| |
| service vendor.ss_ramdump /vendor/bin/subsystem_ramdump |
| class main |
| user root |
| group root system |
| disabled |
| |
| on property:persist.sys.ssr.enable_ramdumps=1 |
| write /sys/module/subsystem_restart/parameters/enable_ramdumps 1 |
| mkdir /data/vendor/ramdump 761 root system |
| mkdir /data/vendor/ssrdump 771 root system |
| start vendor.ss_ramdump |
| |
| on property:persist.sys.ssr.enable_ramdumps=0 |
| write /sys/module/subsystem_restart/parameters/enable_ramdumps 0 |
| |
| service iop /system/bin/iop |
| class main |
| user root |
| group root |
| disabled |
| |
| service vendor.cnd /vendor/bin/cnd |
| user root |
| group root inet wakelock |
| class late_start |
| socket cnd stream 660 root inet |
| |
| service vendor.irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config" |
| class core |
| user root |
| oneshot |
| |
| service vendor.rmt_storage /vendor/bin/rmt_storage |
| class core |
| user root |
| group root system wakelock |
| ioprio rt 0 |
| shutdown critical |
| |
| service vendor.port-bridge /vendor/bin/port-bridge |
| class main |
| user radio |
| group radio system inet |
| oneshot |
| |
| service vendor.qmiproxy /vendor/bin/qmiproxy |
| class main |
| user radio |
| group radio diag |
| disabled |
| |
| service vendor.netmgrd /vendor/bin/netmgrd |
| class main |
| user root |
| group root wifi wakelock radio inet |
| |
| service wpa_supplicant /vendor/bin/hw/wpa_supplicant \ |
| -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \ |
| -g@android:wpa_wlan0 |
| # we will start as root and wpa_supplicant will switch to user wifi |
| # after setting up the capabilities required for WEXT |
| # user wifi |
| # group wifi inet keystore |
| interface android.hardware.wifi.supplicant@1.0::ISupplicant default |
| interface android.hardware.wifi.supplicant@1.1::ISupplicant default |
| interface android.hardware.wifi.supplicant@1.2::ISupplicant default |
| class main |
| socket wpa_wlan0 dgram 660 wifi wifi |
| disabled |
| oneshot |
| |
| service vendor.cnss-daemon /vendor/bin/cnss-daemon -n -l |
| class late_start |
| user system |
| group system inet wifi |
| |
| service vendor.loc_launcher /vendor/bin/loc_launcher |
| #loc_launcher will start as root and set its uid to gps |
| class late_start |
| group gps inet diag wifi |
| |
| service vendor.init-radio-sh /vendor/bin/init.radio.sh |
| class late_start |
| user radio |
| group root radio |
| 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 vendor.atfwd /vendor/bin/ATFWD-daemon |
| class late_start |
| user system |
| group system radio |
| disabled |
| |
| service vendor.ssr_diag /vendor/bin/ssr_diag |
| class late_start |
| user system |
| group system |
| disabled |
| |
| service vendor.diag_mdlog_start /vendor/bin/diag_mdlog |
| class late_start |
| user shell |
| group system diag sdcard_rw sdcard_r media_rw |
| disabled |
| oneshot |
| |
| service vendor.diag_mdlog_stop /vendor/bin/diag_mdlog -k |
| class late_start |
| user shell |
| group system diag sdcard_rw sdcard_r media_rw |
| disabled |
| oneshot |
| |
| service vendor.perfd /vendor/bin/perfd |
| class main |
| user root |
| group root system |
| writepid /dev/cpuset/system-background/tasks |
| disabled |
| |
| # bugreport is triggered by holding down volume down, volume up and power |
| service bugreport /system/bin/dumpstate -d -p -B -z \ |
| -o /data/user_de/0/com.android.shell/files/bugreports/bugreport |
| class main |
| disabled |
| oneshot |
| keycodes 114 115 116 |
| |
| on property:sys.post_boot.parsed=1 |
| start vendor.perfd |
| |
| on property:sys.boot_completed=1 |
| start vendor.power_sh |
| |
| # Enable UFS powersaving |
| write /sys/devices/soc/624000.ufshc/clkgate_enable 1 |
| write /sys/devices/soc/624000.ufshc/624000.ufshc:ufs_variant/pm_qos_enable 1 |
| write /sys/module/lpm_levels/parameters/sleep_disabled N |
| |
| # update cpusets now that boot is complete and we want better load balancing |
| write /dev/cpuset/top-app/cpus 0-3 |
| write /dev/cpuset/foreground/cpus 0-2 |
| write /dev/cpuset/background/cpus 0 |
| write /dev/cpuset/system-background/cpus 0-2 |
| write /dev/cpuset/restricted/cpus 0-1 |
| |
| # Update DVR cpusets to runtime values. |
| write /dev/cpuset/kernel/cpus 0,1 |
| write /dev/cpuset/system/performance/cpus 2 |
| write /dev/cpuset/system/background/cpus 0 |
| write /dev/cpuset/system/cpus 0,2 |
| write /dev/cpuset/application/performance/cpus 3 |
| write /dev/cpuset/application/background/cpus 1 |
| write /dev/cpuset/application/cpus 1,3 |
| |
| # end boot time fs tune |
| write /sys/block/sda/queue/read_ahead_kb 128 |
| write /sys/block/sda/queue/nr_requests 128 |
| write /sys/block/dm-0/queue/read_ahead_kb 128 |
| write /sys/block/dm-1/queue/read_ahead_kb 128 |
| write /sys/block/sda/queue/iostats 1 |
| |
| # UFS health |
| chmod 755 /sys/kernel/debug/ufshcd0 |
| chmod 644 /sys/kernel/debug/ufshcd0/err_state |
| chmod 644 /sys/kernel/debug/ufshcd0/power_mode |
| chmod 644 /sys/kernel/debug/ufshcd0/host_regs |
| chmod 644 /sys/kernel/debug/ufshcd0/show_hba |
| chmod 644 /sys/kernel/debug/ufshcd0/dump_device_desc |
| chmod 755 /sys/kernel/debug/ufshcd0/stats |
| chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats |
| chmod 644 /sys/kernel/debug/ufshcd0/stats/query_stats |
| chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats |
| |
| # Used immediately below |
| trigger sys-boot-completed-set |
| |
| # We want one opportunity per boot to enable zram, so we |
| # use a trigger we fire from the above stanza. If |
| # persist.sys.zram_enabled becomes true after boot, |
| # we don't want to run swapon_all at that time. |
| on sys-boot-completed-set && property:persist.sys.zram_enabled=1 |
| swapon_all /vendor/etc/fstab.${ro.hardware} |
| |
| on property:sys.boot_completed=1 && property:ro.build.type=user |
| write /proc/sys/kernel/modules_disabled 1 |
| |
| ## charger driver exposes now finer grain control, map demo mode to those properties |
| # demo mode can only be exited by wiping data which will also reset the persist properties |
| on property:sys.retaildemo.enabled=1 |
| setprop persist.vendor.charge.stop.level 35 |
| setprop persist.vendor.charge.start.level 30 |
| |
| on property:persist.vendor.charge.stop.level=* |
| write /sys/module/htc_battery/parameters/charge_stop_level ${persist.vendor.charge.stop.level} |
| |
| on property:persist.vendor.charge.start.level=* |
| write /sys/module/htc_battery/parameters/charge_start_level ${persist.vendor.charge.start.level} |
| |
| service vendor.devstart_sh /vendor/bin/init.qcom.devstart.sh |
| class main |
| user root |
| group root system |
| disabled |
| oneshot |
| |
| service vendor.foreground_sh /vendor/bin/init.foreground.sh |
| class main |
| user root |
| group root system readproc |
| disabled |
| oneshot |
| |
| service vendor.power_sh /vendor/bin/init.power.sh |
| class main |
| user root |
| group root system |
| disabled |
| oneshot |
| |
| service vendor.mid_sh /vendor/bin/init.mid.sh |
| class main |
| user root |
| group root system |
| disabled |
| oneshot |
| |
| # reset thermal-engine when framework dies in VR mode |
| on property:init.svc.zygote=restarting && property:sys.qcom.thermalcfg=/vendor/etc/thermal-engine-vr.conf |
| setprop sys.qcom.thermalcfg "/vendor/etc/thermal-engine.conf" |
| restart vendor.thermal-engine |
| |
| # b/70518189 vDSO experiments |
| on property:sys.vdso=* |
| write /sys/module/vdso/parameters/enable_32 1 |
| write /sys/module/vdso/parameters/enable_64 1 |
| |
| on property:sys.vdso=false |
| write /sys/module/vdso/parameters/enable_32 0 |
| write /sys/module/vdso/parameters/enable_64 0 |
| |
| on property:sys.vdso=64 |
| write /sys/module/vdso/parameters/enable_32 0 |
| |
| on property:sys.vdso=32 |
| write /sys/module/vdso/parameters/enable_64 0 |
| |
| # Write the dark theme magic (`theme-dark`, or 0x7468656d652d6461726b in hex string) to /misc |
| # partition. Offset 10814 in vendor space is effectively offset 12862 in /misc partition. |
| service vendor.darkboot /vendor/bin/misc_writer --vendor-space-offset 10814 --hex-string 0x7468656d652d6461726b |
| disabled |
| oneshot |
| |
| # Clear the 10-byte dark theme magic in /misc partition. Offset 10814 in vendor space is effectively |
| # offset 12862 in /misc partition. |
| service vendor.darkboot_clear /vendor/bin/misc_writer --vendor-space-offset 10814 --hex-string 0x00000000000000000000 |
| disabled |
| oneshot |
| |
| # Set the dark boot flag on dark mode (UiModeManager.MODE_NIGHT_YES == 2). |
| on property:persist.sys.theme=2 |
| start vendor.darkboot |
| |
| # Clear the dark theme flag on light mode (UiModeManager.MODE_NIGHT_NO == 1) or auto mode |
| # (UiModeManager.MODE_NIGHT_AUTO == 0). |
| on property:persist.sys.theme=1 |
| start vendor.darkboot_clear |
| |
| on property:persist.sys.theme=0 |
| start vendor.darkboot_clear |