324 lines
12 KiB
Plaintext
324 lines
12 KiB
Plaintext
# Copyright (c) 2009-2012, 2014-2020, 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.target.rc
|
|
|
|
on early-init
|
|
# Change ownership of sysfs power control node
|
|
chown system graphics /sys/class/drm/card0/device/power/control
|
|
|
|
# Disable UFS clock scaling
|
|
write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 0
|
|
|
|
on early-boot
|
|
write /sys/class/drm/card0-DSI-1/status "detect"
|
|
write /sys/module/drm/parameters/vblankoffdelay -1
|
|
|
|
chown system graphics /sys/devices/virtual/hdcp/msm_hdcp/min_level_change
|
|
chmod 0660 /sys/devices/virtual/hdcp/msm_hdcp/min_level_change
|
|
|
|
# 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/bus/msm_subsys/devices/subsys6/restart_level "related"
|
|
write /sys/bus/msm_subsys/devices/subsys7/restart_level "related"
|
|
write /sys/bus/msm_subsys/devices/subsys8/restart_level "related"
|
|
|
|
chown system system /mnt/vendor/persist/data/pfm/licenses
|
|
chmod 0775 /mnt/vendor/persist/data/pfm/licenses
|
|
|
|
on boot
|
|
chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
|
|
chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
|
|
chmod 0660 /sys/class/rfkill/rfkill0/type
|
|
chmod 0660 /sys/class/rfkill/rfkill0/state
|
|
|
|
chown bluetooth net_bt /dev/ttyHS0
|
|
chmod 0660 /dev/ttyHS0
|
|
|
|
chown system system /sys/kernel/boot_slpi/ssr
|
|
|
|
# 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
|
|
|
|
mkdir /mnt/vendor/persist/time 0770 system system
|
|
mkdir /mnt/vendor/persist/secnvm 0770 system system
|
|
mkdir /mnt/vendor/persist/iar_db 0770 system system
|
|
mkdir /mnt/vendor/spunvm 0770 system system
|
|
|
|
# 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
|
|
|
|
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
|
|
|
|
# Create directory used for display
|
|
mkdir /mnt/vendor//display 0770 system graphics
|
|
|
|
# Create vpp directory
|
|
mkdir /mnt/vendor/persist/vpp 0770 media media
|
|
copy /vendor/etc/tunings.txt /mnt/vendor/persist/vpp/tunings.txt
|
|
|
|
# Create hvdcp_opti directory
|
|
mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system
|
|
|
|
# Create persist for camera calibration data
|
|
mkdir /mnt/vendor/persist/camera 0755 system cameraserver
|
|
|
|
# limit discard size to 128MB in order to avoid long IO latency
|
|
write /sys/block/sda/queue/discard_max_bytes 134217728
|
|
|
|
# Enable qcrild and data services
|
|
enable vendor.qcrild
|
|
enable vendor.qcrild2
|
|
enable vendor.dataqti
|
|
enable vendor.dataadpl
|
|
|
|
# msm specific files that need to be created on /data
|
|
on post-fs-data
|
|
mkdir /data/vendor/misc 01771 system 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 /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 for camera
|
|
mkdir /data/vendor/camera 0770 camera camera
|
|
|
|
# Create directory for tftp
|
|
mkdir /data/vendor/tombstones 0771 system system
|
|
mkdir /data/vendor/tombstones/rfs 0771 system system
|
|
|
|
# Create directory for bluetooth
|
|
mkdir /data/vendor/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/wpa 0770 wifi wifi
|
|
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
|
|
mkdir /data/vendor/mac_addr 0770 system wifi
|
|
|
|
# Create the directories used by CnE subsystem
|
|
mkdir /data/vendor/connectivity 0771 radio radio
|
|
chown radio radio /data/vendor/connectivity
|
|
|
|
# Create directory used by audio subsystem
|
|
mkdir /data/vendor/audio 0771 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
|
|
|
|
# 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 /data/time folder for time-services
|
|
mkdir /data/vendor/time/ 0700 system system
|
|
|
|
# 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
|
|
copy /vendor/radio/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db
|
|
copy /vendor/etc/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db
|
|
chown radio radio /data/vendor/radio/qcrilNr_prebuilt.db
|
|
chmod 0660 /data/vendor/radio/qcrilNr_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
|
|
|
|
# Create vpp directory
|
|
mkdir /data/vendor/vpp 0770 media media
|
|
|
|
setprop vold.post_fs_data_done 1
|
|
|
|
service qcomsysd /system/vendor/bin/qcom-system-daemon
|
|
class main
|
|
user root
|
|
group root diag oem_2901
|
|
disabled
|
|
|
|
on property:persist.vendor.qcomsysd.enabled=1
|
|
enable qcomsysd
|
|
|
|
on property:persist.vendor.qcomsysd.enabled=0
|
|
stop qcomsysd
|
|
|
|
on property:sys.boot_completed=1
|
|
# Enable UFS clock scaling back
|
|
write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
|
|
|
|
# WDSP FW boot sysfs node used by STHAL
|
|
chown media audio /sys/kernel/wdsp0/boot
|
|
chown media audio /sys/kernel/wcd_cpe0/fw_name
|
|
|
|
# Reinit lmkd to reconfigure lmkd properties
|
|
setprop lmkd.reinit 1
|
|
|
|
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 cnss-daemon /system/vendor/bin/cnss-daemon -n -l
|
|
class late_start
|
|
user system
|
|
group system inet net_admin wifi
|
|
capabilities NET_ADMIN
|
|
|
|
on property:sys.shutdown.requested=*
|
|
write /sys/kernel/shutdown_wlan/shutdown 1
|
|
stop cnss-daemon
|
|
|
|
service ssgqmigd /vendor/bin/ssgqmigd
|
|
class late_start
|
|
user radio
|
|
group radio gps system
|
|
socket ssgqmig seqpacket 0660 radio inet
|
|
|
|
service mlid /vendor/bin/mlid
|
|
class late_start
|
|
user gps
|
|
group gps
|
|
socket mlid stream 0666 gps gps
|
|
|
|
service loc_launcher /system/vendor/bin/loc_launcher
|
|
class late_start
|
|
user gps
|
|
group gps
|
|
|
|
service qcom-sh /vendor/bin/init.qcom.sh
|
|
class late_start
|
|
user root
|
|
group root system radio
|
|
oneshot
|
|
|
|
on property:ro.vendor.ril.mbn_copy_completed=1
|
|
write /data/vendor/radio/copy_complete 1
|
|
|
|
service vendor.atfwd /vendor/bin/ATFWD-daemon
|
|
class late_start
|
|
user system
|
|
group system radio
|
|
|
|
service charger /system/bin/charger
|
|
class charger
|
|
user system
|
|
group system graphics input
|
|
capabilities SYS_BOOT
|
|
seclabel u:r:charger:s0
|
|
|
|
service vendor.power_off_alarm /vendor/bin/power_off_alarm
|
|
class core
|
|
group system
|
|
disabled
|
|
oneshot
|
|
|
|
service vendor.audio-hal /vendor/bin/hw/android.hardware.audio.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
|
|
ioprio rt 4
|
|
writepid /dev/cpuset/foreground/tasks /dev/stune/foreground/tasks
|
|
socket audio_hw_socket seqpacket 0666 system system
|
|
onrestart restart audioserver
|