android_device_xiaomi_sdm66.../rootdir/etc/init.qcom.rc
Ashish Jain 94677f5db6
sdm660-common: init: Update ueventd rules and init rc for new audio drivers
Update uventd rules to move new audio drivers to audio group.
Update init rc to move audio sysfs node to audio group.

Change-Id: I8e5230e04090b3555e32c0404401dddacea1cd15
2020-10-26 04:25:14 +06:00

853 lines
32 KiB
Text
Executable file

# Copyright (c) 2009-2012, 2014-2019, The Linux Foundation. All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# * Neither the name of The Linux Foundation nor
# the names of its contributors may be used to endorse or promote
# products derived from this software without specific prior written
# permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
# NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
import /vendor/etc/init/hw/init.qcom.usb.rc
import /vendor/etc/init/hw/init.msm.usb.configfs.rc
import /vendor/etc/init/hw/init.target.rc
import /vendor/etc/init/hw/init.performance.sdm660.rc
import /vendor/etc/init/hw/init.device.rc
import /vendor/etc/init/hw/init.xiaomi_parts.rc
on early-init
mount debugfs debugfs /sys/kernel/debug
chmod 0755 /sys/kernel/debug
# Change ownership of hw_recovery related nodes
chown system graphics /sys/kernel/debug/dri/0/debug/dump
chown system graphics /sys/kernel/debug/dri/0/debug/recovery_reg
chown system graphics /sys/kernel/debug/dri/0/debug/recovery_dbgbus
chown system graphics /sys/kernel/debug/dri/0/debug/recovery_vbif_dbgbus
# Change ownership of sw_sync node
chown system graphics /sys/kernel/debug/sync/sw_sync
chmod 0666 /sys/kernel/debug/sync/sw_sync
chown root system /dev/kmsg
chmod 0620 /dev/kmsg
# Load WIGIG platform driver
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy
on init
# Create cgroup mount point for memory
mkdir /sys/fs/cgroup/memory/bg 0750 root system
write /sys/fs/cgroup/memory/bg/memory.swappiness 140
write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
chown root system /sys/fs/cgroup/memory/bg/tasks
chmod 0660 /sys/fs/cgroup/memory/bg/tasks
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
# 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
on post-fs
chmod 0755 /sys/kernel/debug/tracing
write /sys/class/graphics/fb0/idle_time 100
on early-boot
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
# Allow subsystem (modem etc) debugging
write /sys/kernel/boot_adsp/boot 1
write /sys/kernel/boot_cdsp/boot 1
write /sys/devices/virtual/npu/msm_npu/boot 1
write /sys/kernel/boot_slpi/boot 1
exec u:r:qti_init_shell:s0 -- /vendor/bin/init.qcom.early_boot.sh
# SSR Setup
write /sys/bus/msm_subsys/devices/subsys0/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys1/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys2/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys3/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys4/restart_level RELATED
write /sys/bus/msm_subsys/devices/subsys5/restart_level RELATED
write /sys/devices/virtual/cvp/cvp/boot 1
# for backward compatibility
chown system system /persist/sensors
chown system system /persist/sensors/registry
chown system system /persist/sensors/registry/registry
chown system system /persist/sensors/registry/registry/sensors_registry
chown system system /persist/sensors/sensors_settings
chown system system /persist/sensors/registry/config
chmod 0664 /persist/sensors/sensors_settings
chown system system /mnt/vendor/persist/sensors
chown system system /mnt/vendor/persist/sensors/sns.reg
chown system system /mnt/vendor/persist/sensors/sensors_list.txt
chown system system /mnt/vendor/persist/sensors/registry
chown system system /mnt/vendor/persist/sensors/registry/registry
chown system system /mnt/vendor/persist/sensors/registry/registry/sensors_registry
chown system system /mnt/vendor/persist/sensors/sensors_settings
chown system system /mnt/vendor/persist/sensors/registry/sns_reg_config
chown system system /mnt/vendor/persist/sensors/registry/sns_reg_version
chown system system /mnt/vendor/persist/sensors/registry/config
chmod 0664 /mnt/vendor/persist/sensors/sensors_settings
chown system system /mnt/vendor/persist/data/pfm/licenses
chmod 0775 /mnt/vendor/persist/data/pfm/licenses
on boot
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/msm_core/parameters/polling_interval
chown system system /sys/module/msm_core/parameters/disabled
chown system system /sys/kernel/debug/msm_core/enable
chown system system /sys/kernel/debug/msm_core/ptable
chown system system /sys/kernel/boot_slpi/ssr
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
#define back flash and front flash
chmod 0660 /sys/android_camera/sensor
chmod 0660 /sys/class/leds/led:flash_0/brightness
chmod 0660 /sys/class/leds/led:flash_1/brightness
chmod 0660 /sys/class/leds/led:flash_2/brightness
chmod 0660 /sys/class/leds/led:torch_0/brightness
chmod 0660 /sys/class/leds/led:torch_1/brightness
chmod 0660 /sys/class/leds/led:torch_2/brightness
chmod 0660 /sys/class/leds/led:switch_0/brightness
chmod 0660 /sys/class/leds/led:switch_1/brightness
chmod 0660 /sys/class/leds/flashlight/brightness
chown system system /sys/android_camera/sensor
chown system system /sys/class/leds/led:flash_0/brightness
chown system system /sys/class/leds/led:flash_1/brightness
chown system system /sys/class/leds/led:flash_2/brightness
chown system system /sys/class/leds/led:torch_0/brightness
chown system system /sys/class/leds/led:torch_1/brightness
chown system system /sys/class/leds/led:torch_2/brightness
chown system system /sys/class/leds/led:switch_0/brightness
chown system system /sys/class/leds/led:switch_1/brightness
chown system system /sys/class/leds/flashlight/brightness
chmod 0660 /sys/class/power_supply/battery/input_suspend
chmod 0660 /sys/class/power_supply/battery/charging_enabled
chown system system /sys/class/power_supply/battery/input_suspend
chown system system /sys/class/power_supply/battery/charging_enabled
chmod 0770 /sys/class/power_supply/battery/device/thermalcall
chown system system /sys/class/power_supply/battery/device/thermalcall
mkdir /vendor/mnt/persist/drm 0770 system system
mkdir /vendor/mnt/persist/bluetooth 0770 bluetooth bluetooth
mkdir /vendor/mnt/persist/misc 0770 system system
mkdir /vendor/mnt/persist/alarm 0770 system system
mkdir /vendor/mnt/persist/time 0770 system system
mkdir /vendor/mnt/persist/secnvm 0770 system system
#create port-bridge log dir
mkdir /data/vendor/port_bridge 0770 radio radio
chmod 0770 /data/vendor/port_bridge
#Fingerprint
mkdir /data/vendor_de/0/fpdata
chown system system /data/vendor_de/0/fpdata
#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
setprop net.tcp.2g_init_rwnd 10
# 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
#Make MTU adjusting for sometimes cannot access to internet
write /proc/sys/net/ipv4/tcp_mtu_probing 1
# Set the console loglevel to < KERN_INFO
# Set the default message loglevel to KERN_INFO
write /proc/sys/kernel/printk "6 6 1 7"
# 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
# Allow access to dload sysfs node
chown root system /sys/kernel/dload/emmc_dload
chmod 0660 /sys/kernel/dload/emmc_dload
chown root system /sys/kernel/dload/dload_mode
chmod 0660 /sys/kernel/dload/dload_mode
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/panel1-backlight/brightness
chown system system /sys/class/backlight/panel1-backlight/max_brightness
# Allow access to sensors device attributes
chown system system /sys/class/sensors/MPU6050-accel/enable
chown system system /sys/class/sensors/MPU6050-accel/poll_delay
chown system system /sys/class/sensors/MPU6050-gyro/enable
chown system system /sys/class/sensors/MPU6050-gyro/poll_delay
chown system system /sys/class/sensors/apds9930-light/enable
chown system system /sys/class/sensors/apds9930-light/poll_delay
chown system system /sys/class/sensors/apds9930-proximity/enable
chown system system /sys/class/sensors/apds9930-proximity/poll_delay
# Allow access to UFS device attributes on sysfs
chown system system /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
chmod 0660 /sys/devices/platform/soc/1d84000.ufshc/auto_hibern8
# Create directory used for display
# for backward compatibility
mkdir /persist/display 0770 system graphics
mkdir /mnt/vendor/persist/display 0770 system graphics
# Create vpp directory
mkdir /mnt/vendor/persist/vpp 0770 media media
# Create hvdcp_opti directory
mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system
# Create pa-cal driver directory lct-20180914
mkdir /mnt/vendor/persist/audio 0770 root root
# zhitongze@huaqin.com add sensor hardware info 20180207 begin
chmod 0664 /sys/devices/platform/HardwareInfo/gsensor
chmod 0664 /sys/devices/platform/HardwareInfo/msensor
chmod 0664 /sys/devices/platform/HardwareInfo/alsps
chmod 0664 /sys/devices/platform/HardwareInfo/gyro
# zhitongze@huaqin.com add sensor hardware info 20180207 end
chown system system /sys/devices/platform/HardwareInfo/alsps
chown system system /sys/devices/platform/HardwareInfo/gsensor
chown system system /sys/devices/platform/HardwareInfo/msensor
chown system system /sys/devices/platform/HardwareInfo/gyro
chown system system /sys/devices/platform/HardwareInfo/sar_sensor_1
chown system system /sys/devices/platform/HardwareInfo/sar_sensor_2
#sensors log dir
mkdir /data/vendor/sensors
chown system system /data/vendor/sensors
# msm specific files that need to be created on /data
on post-fs-data
mkdir /data/vendor/misc 01771 system system
# Create directory used for dump collection
mkdir /data/vendor/ssrdump 0770 root system
# Create directory used by display clients
mkdir /data/vendor/display 0770 system graphics
# Change lm related dirs
mkdir /data/vendor/lm 0700 root root
# Create directory used by media clients
mkdir /data/vendor/media 0770 mediacodec media
# create QDMA dropbox
mkdir /data/vendor/qdmastats 0700 system system
mkdir /data/vendor/qdma 0770 system system
mkdir /dev/socket/qdma 0770 system system
chmod 2770 /dev/socket/qdma
# Create /data/vendor/tzstorage directory for SFS listener
mkdir /data/vendor/tzstorage 0770 system system
# Create directory for apps access via QTEEConnector
mkdir /data/vendor/qtee 0770 system system
#Create folder of camera
mkdir /data/vendor/camera 0770 camera camera
mkdir /data/misc/camera 0770 camera camera
#Create directory for tftp
mkdir /data/vendor/tombstones 0771 system system
mkdir /data/vendor/tombstones/rfs 0771 system system
mkdir /data/vendor/ramdump 0771 root system
mkdir /data/vendor/bluetooth 0770 bluetooth bluetooth
mkdir /data/vendor/ramdump/bluetooth 0770 bluetooth bluetooth
# Create the directories used by the Wireless subsystem
mkdir /data/vendor/wifi 0770 wifi wifi
mkdir /data/vendor/wifi/sockets 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
#create port-bridge log dir
mkdir /data/vendor/port_bridge 0770 radio radio
chmod 0770 /data/vendor/port_bridge
#create netmgr log dir
mkdir /data/vendor/netmgr 0770 radio radio
chmod 0770 /data/vendor/netmgr
#Create QTI dir for logs
mkdir /data/vendor/dataqti 0770 radio radio
chmod 0770 /data/vendor/dataqti
# Create the directories used by CnE subsystem
mkdir /data/vendor/connectivity 0771 radio radio
chown radio radio /data/vendor/connectivity
# Create the directories used by LctDiagSendData
mkdir /data/vendor/lct_diag 0771 root root
chown root root /data/vendor/lct_diag
rm /data/vendor/lct_diag/client_*
# 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 for radio
mkdir /data/vendor/radio 0770 system radio
rm /data/vendor/radio/shmbus
# Create directory for modem_config
mkdir /data/vendor/modem_config 0570 radio root
# Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
# We chown/chmod /vendor/mnt/persist again so because mount is run as root + defaults
chown root system /vendor/mnt/persist
chmod 0771 /vendor/mnt/persist
chown system system /vendor/mnt/persist/WCNSS_qcom_wlan_nv.bin
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 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
mkdir /data/vendor/location-partner 0770 gps gps
mkdir /data/vendor/location-partner/dre 0770 gps gps
mkdir /data/vendor/location-partner/ppe 0770 gps gps
mkdir /dev/socket/location 0770 gps gps
mkdir /dev/socket/location/ehub 0770 gps gps
#Create directories for wifihal services
mkdir /dev/socket/wifihal 0770 wifi wifi
chmod 2770 /dev/socket/wifihal
# SSC/SLPI sensors
mkdir /vendor/mnt/persist/sensors 0775 sensors sensors
write /vendor/mnt/persist/sensors/sensors_settings 1
chown system root /vendor/mnt/persist/sensors/sensors_settings
chmod 0664 /vendor/mnt/persist/sensors/sensors_settings
chown system system /vendor/mnt/persist/PRSensorData.txt
chmod 0600 /vendor/mnt/persist/PRSensorData.txt
#Create directory for hostapd
mkdir /data/hostapd 0770 system wifi
# Create /data/time folder for time-services
mkdir /data/vendor/time/ 0700 system system
setprop vold.post_fs_data_done 1
#Create FM dir for patchdownloader
mkdir /data/vendor/fm 0770 system system
chmod 0770 /data/vendor/fm
#Create PERFD deamon related dirs
mkdir /data/vendor/perfd 0770 root system
chmod 2770 /data/vendor/perfd
rm /data/vendor/perfd/default_values
mkdir /data/vendor/secure_element 0777 system system
#Create IOP deamon related dirs
mkdir /data/vendor/iop 0700 root system
# 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
# copy prebuilt qcril.db files always
copy /vendor/radio/qcril_database/qcril.db /data/vendor/radio/qcril_prebuilt.db
chown radio radio /data/vendor/radio/qcril_prebuilt.db
chmod 0660 /data/vendor/radio/qcril_prebuilt.db
# 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
copy /vendor/etc/ad_calib.cfg /data/vendor/display/ad_calib.cfg
chmod 0644 /data/vendor/display/ad_calib.cfg
# qti-logkit data
mkdir /data/vendor/qti-logkit/ 0771 system system
mkdir /data/vendor/qti-logkit/shared-privileged/ 2770 system system
mkdir /data/vendor/qti-logkit/shared-public/ 2770 system diag
mkdir /data/vendor/qti-logkit/socket-privileged/ 2770 system system
mkdir /data/vendor/qti-logkit/socket-public/ 2750 system diag
mkdir /data/vendor/qti-logkit/logdata/ 2750 system shell
#Create SWAP related dirs
mkdir /data/vendor/swap 0770 root system
chmod 2770 /data/vendor/swap
# Create vpp directory
mkdir /data/vendor/vpp 0770 media media
#Create FTM_AP dir for factory test
mkdir /data/FTM_AP 0775 system system
#Create dir for TUI
mkdir /data/vendor/tui 0600 system drmrpc
#Start move time data to /data/vendor once post-fs-data done
start vendor.move_time_data
service vendor.ssr_setup /system/vendor/bin/ssr_setup
oneshot
disabled
service vendor.ss_ramdump /system/vendor/bin/subsystem_ramdump
class main
user system
group system
disabled
on property:ro.vendor.iocgrp.config=1
mkdir /dev/blkio
mount cgroup none /dev/blkio blkio
chown system system /dev/blkio
chown system system /dev/blkio/tasks
chmod 0664 /dev/blkio/tasks
mkdir /dev/blkio/bg 0755 system system
chown system system /dev/blkio/bg/tasks
chmod 0664 /dev/blkio/bg/tasks
write /dev/blkio/blkio.weight 1000
write /dev/blkio/bg/blkio.weight 100
on property:persist.vendor.sys.ssr.enable_debug=*
write /sys/module/subsystem_restart/parameters/enable_debug ${persist.vendor.sys.ssr.enable_debug}
on property:persist.vendor.sys.mba_boot_timeout=*
write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.vendor.sys.mba_boot_timeout}
on property:persist.vendor.sys.modem_auth_timeout=*
write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.vendor.sys.modem_auth_timeout}
on property:persist.vendor.sys.pil_proxy_timeout=*
write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.vendor.sys.pil_proxy_timeout}
on property:persist.vendor.ssr.restart_level=*
start vendor.ssr_setup
on property:persist.vendor.ssr.enable_ramdumps=1
write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
mkdir /data/vendor/ramdump_ssr 770 system system
start vendor.ss_ramdump
on property:persist.vendor.ssr.enable_ramdumps=0
write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
on property:sys.boot_completed=1
write /dev/kmsg "Boot completed "
#Reset read ahead for dm-0, dm-1, dm-3, dm-4, dm-5 and dm-6 to 128b
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
# Back to default VM settings
write /proc/sys/vm/dirty_expire_centisecs 3000
write /proc/sys/vm/dirty_background_ratio 10
# Setup runtime blkio
# value for group_idle is us
write /dev/blkio/blkio.weight 1000
write /dev/blkio/background/blkio.weight 10
write /dev/blkio/blkio.group_idle 2000
write /dev/blkio/background/blkio.group_idle 0
#WDSP FW boot sysfs node used by STHAL
chown media audio /sys/kernel/wdsp0/boot
chown media audio /sys/kernel/wcd_cpe0/fw_name
chown media audio /sys/kernel/aud_dev/state
on property:persist.vendor.radio.atfwd.start=false
stop vendor.atfwd
on property:vendor.radio.atfwd.start=false
stop vendor.atfwd
# corefile limit
on property:persist.debug.trace=1
mkdir /data/core 0777 root root
write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e"
on property:init.svc.wpa_supplicant=stopped
stop dhcpcd
on property:ro.bluetooth.ftm_enabled=true
start vendor.ftmd
service vendor.qcom-c_main-sh /vendor/bin/init.class_main.sh
class main
user root
group root system
oneshot
on property:vold.decrypt=trigger_restart_framework
start vendor.qcom-c_main-sh
start vendor.cnss_diag
restart vendor.audio-hal-2-0
restart vendor.camera-provider-2-4
on property:persist.env.fastdorm.enabled=true
setprop persist.radio.data_no_toggle 1
service vendor.irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
class core
user root
oneshot
writepid /dev/cpuset/system-background/tasks
service vendor.sensors.qti /vendor/bin/sensors.qti
class main
user system
group system
# Grants the ability for this daemon to bind IPC router ports so it can
# register QMI services
capabilities NET_BIND_SERVICE
service vendor.sensors.qcom /vendor/bin/sensors.qcom
class main
user system
group system
# Grants the ability for this daemon to bind IPC router ports so it can
# register QMI services
capabilities NET_BIND_SERVICE
on property:ro.vendor.use_data_netmgrd=false
# netmgr not supported on specific target
stop vendor.netmgrd
# Adjust socket buffer to enlarge TCP receive window for high bandwidth
# but only if ro.data.large_tcp_window_size property is set.
on property:ro.data.large_tcp_window_size=true
write /proc/sys/net/ipv4/tcp_adv_win_scale 2
on property:sys.sysctl.tcp_adv_win_scale=*
write /proc/sys/net/ipv4/tcp_adv_win_scale ${sys.sysctl.tcp_adv_win_scale}
service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
-O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \
-g@android:vendor_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 vendor_wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
writepid /dev/cpuset/system-background/tasks
# Data Migration
service vendor.move_wifi_data /system/bin/move_wifi_data.sh
class main
user wifi
group wifi
disabled
oneshot
service cnss-daemon /system/vendor/bin/cnss-daemon -n -l
class late_start
user system
group system inet net_admin wifi
capabilities NET_ADMIN
writepid /dev/cpuset/system-background/tasks
on property:sys.shutdown.requested=*
write /sys/kernel/shutdown_wlan/shutdown 1
stop cnss-daemon
service loc_launcher /system/vendor/bin/loc_launcher
class late_start
user gps
group gps
service vendor.qcom-sh /vendor/bin/init.qcom.sh
class late_start
user root
group root system radio
oneshot
service vendor.qcom-post-boot /vendor/bin/init.qcom.post_boot.sh
class late_start
user root
group root system wakelock graphics
disabled
oneshot
on property:sys.boot_completed=1
start vendor.qcom-post-boot
on property:vendor.post_boot.parsed=*
setprop sys.post_boot.parsed ${vendor.post_boot.parsed}
on property:ro.vendor.ril.mbn_copy_completed=1
write /data/vendor/radio/copy_complete 1
service vendor.qvop-daemon /vendor/bin/qvop-daemon
class late_start
user system
group system drmrpc
writepid /dev/cpuset/system-background/tasks
service vendor.atfwd /vendor/bin/ATFWD-daemon
class late_start
user system
group system radio
on property:persist.vendor.radio.atfwd.start=true
start vendor.atfwd
service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global
class main
capabilities NET_ADMIN NET_RAW
user wifi
group wifi
disabled
oneshot
service ims_regmanager /system/vendor/bin/exe-ims-regmanagerprocessnative
class late_start
group net_bt_admin inet radio wifi
disabled
on property:persist.ims.regmanager.mode=1
start ims_regmanager
on property:ro.data.large_tcp_window_size=true
# Adjust socket buffer to enlarge TCP receive window for high bandwidth (e.g. DO-RevB)
write /proc/sys/net/ipv4/tcp_adv_win_scale 2
service vendor.ril-daemon2 /vendor/bin/hw/rild -c 2
class main
user radio
disabled
group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
service vendor.ril-daemon3 /vendor/bin/hw/rild -c 3
class main
user radio
disabled
group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
service vendor.charger /system/bin/charger
class charger
user system
group system graphics input
capabilities SYS_BOOT
seclabel u:r:charger:s0
service vendor.ssr_diag /system/vendor/bin/ssr_diag
class late_start
user system
group system
disabled
service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
class core
user root
group root
disabled
service vendor.msm_irqbal_lb /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_little_big.conf
class core
user root
group root
disabled
on property:init.svc.vendor.charger=running
setprop persist.sys.usb.config mass_storage
load_system_props
start qcom-post-boot
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
wait /dev/block/bootdevice
#add poweroffhandler
service poweroffhandler /system/vendor/bin/poweroffhandler
class core
user media
group graphics audio
disabled
oneshot
on property:vendor.display.lcd_density=*
setprop ro.sf.lcd_density ${vendor.display.lcd_density}
# Set vendor-ril lib path based on Meta version
on property:vendor.rild.libpath=*
setprop rild.libpath ${vendor.rild.libpath}
on property:ro.vendor.radio.noril=*
setprop ro.radio.noril ${ro.vendor.radio.noril}
service vendor.power_off_alarm /vendor/bin/power_off_alarm
class core
group system
disabled
oneshot
#Set GPU Opengles version
on property:vendor.opengles.version=*
setprop ro.opengles.version ${vendor.opengles.version}
#Set gpu available frequencies property
on property:vendor.gpu.available_frequencies=*
setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies}
#workaround for camera HAL can not read sys property
on property:sys.camera.face.unlock=*
setprop vendor.camera.face.unlock ${sys.camera.face.unlock}
#add MIUI camera flag
on property:sys.camera.miui.apk=*
setprop vendor.camera.miui.apk ${sys.camera.miui.apk}
#add cts camera flag
#add MIUI camera flag
on property:sys.camera.not.cts.apk=*
setprop vendor.camera.not.cts.apk ${sys.camera.not.cts.apk}
#add MIUI camera flag
on property:sys.camera.douyin.apk=*
setprop vendor.camera.douyin.apk ${sys.camera.douyin.apk}
#add cts verify flag
on property:sys.camera.not.ctsverify.apk=*
setprop vendor.camera.not.ctsverify.apk ${sys.camera.not.ctsverify.apk}
#add cts verify flag
on property:sys.gyro.sensorname=*
setprop vendor.camera.gyro.sensorname ${sys.gyro.sensorname}
service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service
override
class hal
user audioserver
# media gid needed for /dev/fm (radio) and for /data/misc/media (tee)
group audio camera drmrpc inet media mediadrm net_bt net_bt_admin net_bw_acct oem_2901 wakelock
capabilities BLOCK_SUSPEND SYS_NICE
ioprio rt 4
writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks
# audioflinger restarts itself when it loses connection with the hal
# and its .rc file has an "onrestart restart audio-hal" rule, thus
# an additional auto-restart from the init process isn't needed.
oneshot
interface android.hardware.audio@5.0::IDevicesFactory default
interface android.hardware.audio@4.0::IDevicesFactory default
interface android.hardware.audio@2.0::IDevicesFactory default