From 04d9d517f5a050ee66cf066a40ae27e79b3c75d2 Mon Sep 17 00:00:00 2001 From: Simon1511 Date: Tue, 12 Oct 2021 17:35:53 +0200 Subject: [PATCH] sm7125: Update rootdir files Change-Id: I87f114adccbe9132e14800138c7c9dcda8393f39 --- common.mk | 15 +++- rootdir/Android.mk | 88 ++++++++++++++++++++ rootdir/bin/init.qcom.coex.sh | 115 +++++++++++++++++++++++++++ rootdir/bin/init.qcom.efs.sync.sh | 35 ++++++++ rootdir/bin/init.qcom.sensors.sh | 33 ++++++++ rootdir/bin/init.qti.qcv.sh | 19 +++++ rootdir/etc/init.audio.samsung.rc | 57 +++++++++++++ rootdir/etc/init.nfc.samsung.rc | 13 +++ rootdir/etc/init.vendor.onebinary.rc | 14 ++++ rootdir/etc/init.vendor.rilchip.rc | 47 +++++++++++ rootdir/etc/init.vendor.rilcommon.rc | 36 +++++++++ rootdir/etc/init.vendor.sensors.rc | 52 ++++++++++++ rootdir/etc/init.vendor.sysfw.rc | 13 +++ 13 files changed, 535 insertions(+), 2 deletions(-) create mode 100644 rootdir/bin/init.qcom.coex.sh create mode 100644 rootdir/bin/init.qcom.efs.sync.sh create mode 100644 rootdir/bin/init.qcom.sensors.sh create mode 100644 rootdir/bin/init.qti.qcv.sh create mode 100644 rootdir/etc/init.audio.samsung.rc create mode 100644 rootdir/etc/init.nfc.samsung.rc create mode 100644 rootdir/etc/init.vendor.onebinary.rc create mode 100644 rootdir/etc/init.vendor.rilchip.rc create mode 100644 rootdir/etc/init.vendor.rilcommon.rc create mode 100644 rootdir/etc/init.vendor.sensors.rc create mode 100644 rootdir/etc/init.vendor.sysfw.rc diff --git a/common.mk b/common.mk index 8eab893..622c26f 100644 --- a/common.mk +++ b/common.mk @@ -44,7 +44,14 @@ PRODUCT_PACKAGES += \ init.target.rc \ ueventd.qcom.rc \ wifi_qcom.rc \ - wifi_sec.rc + wifi_sec.rc \ + init.audio.samsung.rc \ + init.nfc.samsung.rc \ + init.vendor.onebinary.rc \ + init.vendor.rilchip.rc \ + init.vendor.rilcommon.rc \ + init.vendor.sensors.rc \ + init.vendor.sysfw.rc # Vendor scripts PRODUCT_PACKAGES += \ @@ -56,7 +63,11 @@ PRODUCT_PACKAGES += \ init.qcom.sh \ init.qcom.usb.sh \ init.qti.chg_policy.sh \ - init.qti.dcvs.sh + init.qti.dcvs.sh \ + init.qcom.coex.sh \ + init.qcom.efs.sync.sh \ + init.qcom.sensors.sh \ + init.qti.qcv.sh # Audio PRODUCT_PACKAGES += \ diff --git a/rootdir/Android.mk b/rootdir/Android.mk index be3c661..5618264 100644 --- a/rootdir/Android.mk +++ b/rootdir/Android.mk @@ -84,6 +84,62 @@ LOCAL_SRC_FILES := etc/init.target.rc LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init/hw include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.audio.samsung.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.audio.samsung.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.nfc.samsung.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.nfc.samsung.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.vendor.onebinary.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.vendor.onebinary.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.vendor.rilchip.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.vendor.rilchip.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.vendor.rilcommon.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.vendor.rilcommon.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.vendor.sensors.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.vendor.sensors.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.vendor.sysfw.rc +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := etc/init.vendor.sysfw.rc +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR_ETC)/init +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := wifi_sec.rc LOCAL_MODULE_TAGS := optional @@ -119,6 +175,38 @@ LOCAL_SRC_FILES := bin/init.class_main.sh LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/bin include $(BUILD_PREBUILT) +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.coex.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.coex.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/bin +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.efs.sync.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.efs.sync.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/bin +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qcom.sensors.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qcom.sensors.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/bin +include $(BUILD_PREBUILT) + +include $(CLEAR_VARS) +LOCAL_MODULE := init.qti.qcv.sh +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_CLASS := ETC +LOCAL_SRC_FILES := bin/init.qti.qcv.sh +LOCAL_MODULE_PATH := $(TARGET_OUT_VENDOR)/bin +include $(BUILD_PREBUILT) + include $(CLEAR_VARS) LOCAL_MODULE := init.crda.sh LOCAL_MODULE_TAGS := optional diff --git a/rootdir/bin/init.qcom.coex.sh b/rootdir/bin/init.qcom.coex.sh new file mode 100644 index 0000000..a9a22f1 --- /dev/null +++ b/rootdir/bin/init.qcom.coex.sh @@ -0,0 +1,115 @@ +#! /vendor/bin/sh + +# Copyright (c) 2009-2010, 2012, 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. + +LOG_TAG="qcom-bt-wlan-coex" +LOG_NAME="${0}:" + +coex_pid="" +ath_wlan_supported=`getprop wlan.driver.ath` + +loge () +{ + /system/bin/log -t $LOG_TAG -p e "$LOG_NAME $@" +} + +logi () +{ + /system/bin/log -t $LOG_TAG -p i "$LOG_NAME $@" +} + +failed () +{ + loge "$1: exit code $2" + exit $2 +} + +start_coex () +{ + case "$ath_wlan_supported" in + "2") + echo "ATH WLAN Chip ID AR6004 is enabled" + /system/bin/abtfilt -d -z -n -m -a -w wlan0 & + ;; + "1") + echo "ATH WLAN Chip ID is enabled" + # Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter. + /system/bin/abtfilt -d -z -n -v -q -s -w wlan0 & + ;; + "0") + echo "WCN WLAN Chip ID is enabled" + # Must have -o turned on to avoid daemon (otherwise we cannot get pid) + /system/bin/btwlancoex -o $opt_flags & + ;; + *) + echo "NO WLAN Chip ID is enabled, so enabling ATH as default" + # Must have -d -z -n -v -s -w wlan0 parameters for atheros btfilter. + /system/bin/abtfilt -d -z -n -v -q -s -w wlan0 & + ;; + esac + coex_pid=$! + logi "start_coex: pid = $coex_pid" +} + +kill_coex () +{ + logi "kill_coex: pid = $coex_pid" + kill -TERM $coex_pid + # this shell doesn't exit now -- wait returns for normal exit +} + +# mimic coex options parsing -- maybe a waste of effort +USAGE="${0} [-o] [-c] [-r] [-i] [-h]" + +while getopts "ocrih" f +do + case $f in + o | c | r | i | h) opt_flags="$opt_flags -$f" ;; + \?) echo $USAGE; exit 1;; + esac +done + +# init does SIGTERM on ctl.stop for service +trap "kill_coex" TERM INT + +#Selectively start coex module +target=`getprop ro.board.platform` + +if [ "$target" == "msm8960" ] && [ "$ath_wlan_supported" != "2" ]; then + logi "btwlancoex/abtfilt is not needed" +else + # Build settings may not produce the coex executable + if ls /system/bin/btwlancoex || ls /system/bin/abtfilt + then + start_coex + wait $coex_pid + logi "Coex stopped" + else + logi "btwlancoex/abtfilt not available" + fi +fi +exit 0 diff --git a/rootdir/bin/init.qcom.efs.sync.sh b/rootdir/bin/init.qcom.efs.sync.sh new file mode 100644 index 0000000..5e7bfa1 --- /dev/null +++ b/rootdir/bin/init.qcom.efs.sync.sh @@ -0,0 +1,35 @@ +#! /vendor/bin/sh + +# Copyright (c) 2012, 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 "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. +# +# + +PATH=/system/bin:$PATH +export PATH +cat /sys/devices/platform/rs300000a7.65536/force_sync +cat /sys/devices/platform/rs300100a7.65536/force_sync diff --git a/rootdir/bin/init.qcom.sensors.sh b/rootdir/bin/init.qcom.sensors.sh new file mode 100644 index 0000000..dcc0556 --- /dev/null +++ b/rootdir/bin/init.qcom.sensors.sh @@ -0,0 +1,33 @@ +#!/vendor/bin/sh +# Copyright (c) 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. +# + +# +# Function to start sensors for SSC enabled platforms +# +cp /vendor/etc/sensors/scripts/* /data/vendor/sensors/scripts/ +chmod a+rw /data/vendor/sensors/scripts/* diff --git a/rootdir/bin/init.qti.qcv.sh b/rootdir/bin/init.qti.qcv.sh new file mode 100644 index 0000000..2796c06 --- /dev/null +++ b/rootdir/bin/init.qti.qcv.sh @@ -0,0 +1,19 @@ +#! /vendor/bin/sh +#============================================================================= +# Copyright (c) 2020 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +#============================================================================= + +soc_id=`cat /sys/devices/soc0/soc_id` 2> /dev/null + +# Store soc_id in ro.vendor.qti.soc_id +setprop ro.vendor.qti.soc_id $soc_id + +# For chipsets in QCV family, convert soc_id to soc_name +# and store it in ro.vendor.qti.soc_name. +if [ "$soc_id" -eq 415 ] || [ "$soc_id" -eq 439 ] || [ "$soc_id" -eq 456 ]; then + setprop ro.vendor.qti.soc_name lahaina +elif [ "$soc_id" -eq 450 ]; then + setprop ro.vendor.qti.soc_name shima +fi diff --git a/rootdir/etc/init.audio.samsung.rc b/rootdir/etc/init.audio.samsung.rc new file mode 100644 index 0000000..5b41975 --- /dev/null +++ b/rootdir/etc/init.audio.samsung.rc @@ -0,0 +1,57 @@ + +# Copyright (c) 2018-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 "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. +# +# +on post-fs-data +# Permissions for audio + chown system radio /sys/class/audio/earjack/key_state + chown system radio /sys/class/audio/earjack/mic_adc + chown system radio /sys/class/audio/earjack/select_jack + chown system radio /sys/class/audio/earjack/state + +on property:sys.boot_completed=1 +# TI Amp Calibration/Validation + chown system audio /sys/class/tas25xx/calib/calibration + chown system audio /sys/class/tas25xx/calib/cstatus + chown system audio /sys/class/tas25xx/calib/cstatus_r + chown system audio /sys/class/tas25xx/calib/rdc + chown system audio /sys/class/tas25xx/calib/rdc_r + chown system audio /sys/class/tas25xx/calib/temp + chown system audio /sys/class/tas25xx/calib/temp_r + chown system audio /sys/class/tas25xx/valid/status + chown system audio /sys/class/tas25xx/valid/status_r + chown system audio /sys/class/tas25xx/valid/validation + mkdir /efs/tas25xx 0770 audioserver audio + chown audioserver audio /efs/tas25xx/calib_re + chown audioserver audio /efs/tas25xx/amb_temp + chown audioserver audio /efs/tas25xx/calib_re_r + chown audioserver audio /efs/tas25xx/amb_temp_r + chmod 0660 /efs/tas25xx/calib_re + chmod 0660 /efs/tas25xx/amb_temp + chmod 0660 /efs/tas25xx/calib_re_r + chmod 0660 /efs/tas25xx/amb_temp_r \ No newline at end of file diff --git a/rootdir/etc/init.nfc.samsung.rc b/rootdir/etc/init.nfc.samsung.rc new file mode 100644 index 0000000..2288746 --- /dev/null +++ b/rootdir/etc/init.nfc.samsung.rc @@ -0,0 +1,13 @@ +on boot + chmod 0660 /dev/sec-nfc + chown nfc nfc /dev/sec-nfc + chmod 0660 /dev/p3 + chown system system /dev/p3 + chmod 0660 /dev/pn547 + chown nfc nfc /dev/pn547 + chmod 0660 /dev/p61 + chown system system /dev/p61 + +on post-fs-data +# NFC KEY + mkdir /data/vendor/nfc 0770 nfc nfc \ No newline at end of file diff --git a/rootdir/etc/init.vendor.onebinary.rc b/rootdir/etc/init.vendor.onebinary.rc new file mode 100644 index 0000000..870521f --- /dev/null +++ b/rootdir/etc/init.vendor.onebinary.rc @@ -0,0 +1,14 @@ +# Copyright (C) 2012 The Android Open Source Project +# +# IMPORTANT: Do not create world writable files or directories. +# This is a common source of Android security bugs. +# + +# service can not be overwritten except SPRINT +# Thus, rilcarrier is imported before common rc, like init.rilchip.rc + +on fs + copy /mnt/vendor/efs/factory.prop /efs/imei/factory.prop + chown root root /efs/imei/factory.prop + chmod 0600 /efs/imei/factory.prop + diff --git a/rootdir/etc/init.vendor.rilchip.rc b/rootdir/etc/init.vendor.rilchip.rc new file mode 100644 index 0000000..6f08bf7 --- /dev/null +++ b/rootdir/etc/init.vendor.rilchip.rc @@ -0,0 +1,47 @@ +# Copyright (C) 2012 The Android Open Source Project +# +# IMPORTANT: Do not create world writable files or directories. +# This is a common source of Android security bugs. +# + +service ril-daemon /vendor/bin/hw/rild + class main + user radio + group radio cache inet misc audio log oem_2901 system drmrpc vpn readproc wakelock + capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYS_ADMIN CHOWN SYS_TIME + socket sap_uim_socket1 stream 660 bluetooth bluetooth + +service ril-daemon1 /vendor/bin/hw/rild -c 2 + class main + user radio + group radio cache inet misc audio log oem_2901 system drmrpc vpn readproc wakelock + capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW SYS_ADMIN CHOWN SYS_TIME + +# QMUX must be in multiple groups to support external process connections +service qmuxd /vendor/bin/qmuxd + class main + user root + group radio audio bluetooth gps oem_2901 + +service irsc_util_oem /vendor/bin/irsc_util "/vendor/etc/sec_config_oem" + class core + user root + oneshot + +# Avoid running ril-daemon services on qualcomm model +service vendor.ril-daemon /vendor/bin/hw/rild-dummy + override + +service vendor.ril-daemon2 /vendor/bin/hw/rild-dummy + override + +service vendor.ril-daemon3 /vendor/bin/hw/rild-dummy + override + +# Disable vendor.embmsslServer to fix VTS failure +# as vendor.embmsslServer is not running even though it has interface +service vendor.embmsslServer /vendor/bin/embmsslServer + override + +on property:init.svc.vendor.netmgrd=running && property:ro.vendor.use_data_netmgrd=false + stop vendor.netmgrd diff --git a/rootdir/etc/init.vendor.rilcommon.rc b/rootdir/etc/init.vendor.rilcommon.rc new file mode 100644 index 0000000..1abe230 --- /dev/null +++ b/rootdir/etc/init.vendor.rilcommon.rc @@ -0,0 +1,36 @@ +# Copyright (C) 2012 The Android Open Source Project +# +# IMPORTANT: Do not create world writable files or directories. +# This is a common source of Android security bugs. +# + +# service can not be overwritten except SPRINT +# Thus, rilcarrier is imported before common rc, like init.rilchip.rc + +on post-fs-data + mkdir /data/vendor/secradio 0770 radio radio + restorecon -R /data/vendor/secradio + +on property:ro.vendor.multisim.simslotcount=1 + stop ril-daemon1 + +on property:vts.native_server.on=* + setprop vendor.vts.native_server.on ${vts.native_server.on} + +service network_config /vendor/bin/secril_config_svc NetworkConfig + user radio + group radio + oneshot + disabled + +service sim_config /vendor/bin/secril_config_svc SimConfig + user radio + group radio + oneshot + disabled + +on fs + exec_start sim_config + +on post-fs-data + exec_start network_config diff --git a/rootdir/etc/init.vendor.sensors.rc b/rootdir/etc/init.vendor.sensors.rc new file mode 100644 index 0000000..24d4863 --- /dev/null +++ b/rootdir/etc/init.vendor.sensors.rc @@ -0,0 +1,52 @@ +# Copyright (c) 2019 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# +# 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. +# + +on early-boot + + write /sys/kernel/boot_slpi/boot 1 + + 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 /sys/kernel/boot_adsp/ssr + +on post-fs-data && property:ro.build.type=userdebug + #sensors log dir + mkdir /data/vendor/sensors 0777 system system + mkdir /data/vendor/sensors/scripts 0777 system system diff --git a/rootdir/etc/init.vendor.sysfw.rc b/rootdir/etc/init.vendor.sysfw.rc new file mode 100644 index 0000000..a376736 --- /dev/null +++ b/rootdir/etc/init.vendor.sysfw.rc @@ -0,0 +1,13 @@ +on boot + # FSDBG dlog permissions + chown root system /proc/fslog/dlog_efs + chown root system /proc/fslog/dlog_etc + chown root system /proc/fslog/dlog_mm + chown root system /proc/fslog/dlog_rmdir + + # Permissions for Filesystem + # change owner f2fs bigdata node for hqm write + chown system system /sys/fs/f2fs/userdata/sec_gc_stat + chown system system /sys/fs/f2fs/userdata/sec_io_stat + chown system system /sys/fs/f2fs/userdata/sec_fsck_stat + chown system system /sys/fs/f2fs/userdata/sec_defrag_stat