This repository has been archived on 2025-09-03. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
device_motorola_msm8953-common/rootdir/etc/init.target.rc
2021-01-31 18:24:06 -03:00

332 lines
12 KiB
Plaintext

# Copyright (c) 2013-2014,2018, 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.
#
#
import /vendor/etc/init/hw/init.mmi.rc
import /vendor/etc/init/hw/init.${ro.boot.device}.rc
on early-init
exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules audio_apr audio_adsp_loader audio_q6_notifier audio_q6 audio_usf audio_native audio_pinctrl_wcd audio_swr audio_platform audio_swr_ctrl audio_hdmi audio_wcd9xxx audio_wcd_core audio_wsa881x_analog audio_wsa881x audio_mbhc audio_stub audio_digital_cdc audio_analog_cdc audio_wcd_cpe audio_cpe_lsm audio_wcd9335 audio_machine_sdm450 audio_machine_ext_sdm450
write /proc/sys/kernel/sched_boost 1
mkdir /firmware 0771 system system
symlink /data/tombstones /tombstones
on init
setprop ro.vendor.fsg-id ${ro.boot.fsg-id}
setprop ro.vendor.hw.dualsim ${ro.boot.dualsim}
setprop ro.vendor.hw.device ${ro.boot.device}
setprop ro.vendor.hw.radio ${ro.boot.radio}
setprop ro.vendor.hw.revision ${ro.boot.revision}
setprop ro.vendor.carrier ${ro.boot.carrier}
setprop ro.vendor.boot.cid ${ro.boot.cid}
setprop ro.vendor.boot.radio ${ro.boot.radio}
setprop ro.vendor.boot.powerup_reason ${ro.boot.powerup_reason}
setprop ro.vendor.boot.bl_state ${ro.boot.bl_state}
setprop ro.vendor.boot.serialno ${ro.boot.serialno}
setprop ro.vendor.zygote ${ro.zygote}
setprop ro.vendor.hw.hwrev 99999
setprop ro.vendor.boot.hwrev 99999
# Translate MMI property in order to keep consistent with QCOM
on property:ro.vendor.hw.dualsim=true
setprop persist.radio.multisim.config dsds
on property:ro.vendor.hw.dualsim=false
setprop persist.radio.multisim.config ""
on fs
wait /dev/block/platform/soc/${ro.boot.bootdevice}
symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
mount_all /vendor/etc/fstab.qcom --early
write /proc/sys/vm/swappiness 100
chown root system /mnt/vendor/persist
chmod 0771 /mnt/vendor/persist
mkdir /mnt/vendor/persist/data 0700 system system
mkdir /mnt/vendor/persist/bms 0700 root system
# Reloading context for NPI uses /mnt/vendor/persist
exec u:r:vendor_toolbox:s0 root audio bluetooth graphics media net_raw system vendor_rfs vendor_rfs_shared -- /vendor/bin/toybox_vendor find /mnt/vendor/persist -type d -exec /vendor/bin/toybox_vendor setfattr -x security.sehash {} \;
restorecon_recursive /mnt/vendor/persist
write /proc/sys/vm/swappiness 100
#write /sys/kernel/boot_adsp/boot 1
#wait /dev/block/bootdevice/by-name/oem
#mount ext4 /dev/block/bootdevice/by-name/oem /oem ro nosuid nodev barrier=1
on late-fs
# Start services for bootanim
start servicemanager
start surfaceflinger
start bootanim
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.qcom --late
on post-fs
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
start vendor.qseecomd
exec - system system -- /vendor/bin/init.qti.qseecomd.sh
on post-fs-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/vendor/hbtp 0750 system system
mkdir /data/vendor/tloc 0700 system drmrpc
#Create folder for mm-qcamera-daemon
mkdir /data/vendor/camera 0770 camera camera
#start camera server as daemon
service qcamerasvr /system/vendor/bin/mm-qcamera-daemon
class main
user camera
group camera system inet input graphics
on init
write /dev/stune/foreground/schedtune.sched_boost_no_override 1
write /dev/stune/top-app/schedtune.sched_boost_no_override 1
write /dev/stune/schedtune.colocate 0
write /dev/stune/background/schedtune.colocate 0
write /dev/stune/foreground/schedtune.colocate 0
write /dev/stune/top-app/schedtune.colocate 1
write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
# Allow usb charging to be disabled peristently
on property:persist.usb.chgdisabled=1
write /sys/class/power_supply/battery/charging_enabled 0
on property:persist.usb.chgdisabled=0
write /sys/class/power_supply/battery/charging_enabled 1
# FM
on property:hw.fm.init=0
write /sys/module/radio_iris_transport/parameters/fmsmd_set 0
on property:hw.fm.init=1
write /sys/module/radio_iris_transport/parameters/fmsmd_set 1
service vendor.qseecomd /vendor/bin/qseecomd
class core
user root
group root
service perfd /system/vendor/bin/perfd
class main
user root
disabled
service thermal-engine /system/vendor/bin/thermal-engine
class main
user root
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
socket thermal-send-rule stream 0660 system system
group root system
service audiod /system/vendor/bin/audiod
class late_start
user system
group system
on boot
start rmt_storage
insmod /system/lib/modules/adsprpc.ko
# access permission for secure touch
chmod 0660 /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable
chmod 0440 /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch
chmod 0660 /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable
chmod 0440 /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch
chown system drmrpc /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable
chown system drmrpc /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch
chown system drmrpc /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable
chown system drmrpc /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch
# 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 cameraserver cameraserver /dev/cpuset/camera-daemon
chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
chmod 0660 /dev/cpuset/camera-daemon/tasks
####Regionalization config and prop files####
chmod 0644 /persist/speccfg/spec
chmod 0644 /persist/speccfg/devicetype
chmod 0644 /persist/speccfg/mbnversion
chmod 0644 /persist/speccfg/.not_triggered
chmod 0644 /persist/speccfg/vendor_ro.prop
chmod 0644 /persist/speccfg/vendor_persist.prop
chmod 0644 /persist/speccfg/submask
chmod 0644 /persist/speccfg/partition
chown system system /persist/speccfg/spec
chown system system /persist/speccfg/devicetype
chown system system /persist/speccfg/mbnversion
chown system system /persist/speccfg/.not_triggered
chown system system /persist/speccfg/vendor_ro.prop
chown system system /persist/speccfg/vendor_persist.prop
chown system system /persist/speccfg/submask
chown system system /persist/speccfg/partition
# access permission for wlan
chown system system /mnt/vendor/persist/WCNSS_qcom_wlan_nv.bin
#USB controller configuration
write /sys/module/g_android/parameters/mtp_tx_req_len 131072
write /sys/module/g_android/parameters/mtp_rx_req_len 131072
write /sys/class/android_usb/android0/f_rndis_qc/rndis_transports BAM2BAM_IPA
setprop vendor.usb.rndis.func.name "rndis_bam"
setprop vendor.usb.rmnet.func.name "rmnet_bam"
setprop vendor.usb.rmnet.inst.name "rmnet"
setprop vendor.usb.dpl.inst.name "dpl"
#Turn on GPU rate stats through gcc_oxili_gfx3d_clk
chown system system /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats
chmod 0664 /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats
write /sys/kernel/debug/clk/gcc_oxili_gfx3d_clk/rate_stats 1
on property:init.svc.surfaceflinger=stopped
stop ppd
on property:init.svc.surfaceflinger=running
start ppd
on property:init.svc.surfaceflinger=restarting
stop ppd
on property:init.svc.zygote=stopped
stop ppd
on property:init.svc.zygote=running
start ppd
on property:init.svc.zygote=restarting
stop ppd
service wcnss-service /system/vendor/bin/wcnss_service
class late_start
user system
group system wifi radio
oneshot
on charger
wait /dev/block/bootdevice/by-name/system
mount ext4 /dev/block/bootdevice/by-name/system /system ro barrier=1
load_system_props
setprop persist.sys.usb.config mass_storage
start qcom-post-boot
setprop persist.sys.usb.config mass_storage
on charger && property:ro.boot.usbconfigfs=true
setprop sys.usb.configfs 1
on charger && property:ro.boot.usbconfigfs=false
setprop sys.usb.configfs 0
## imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon
class main
user radio
socket ims_qmid stream 0660 system radio
group radio log diag
# imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon
class main
user radio
socket ims_datad stream 0660 system radio
group radio wifi inet log diag
disabled
on property:vendor.ims.QMI_DAEMON_STATUS=1
start vendor.imsdatadaemon
service vendor.ims_rtp_daemon /vendor/bin/ims_rtp_daemon
class main
user radio
group radio vendor_qti_diag inet log
service vendor.imsrcsservice /system/vendor/bin/imsrcsd
class main
user system
group radio diag inet log wakelock
on property:vendor.ims.DATA_DAEMON_STATUS=1
restart vendor.ims_rtp_daemon
service adsprpcd /system/vendor/bin/adsprpcd
class main
user media
group media
service vendor.per_mgr /system/vendor/bin/pm-service
class core
user system
group system net_raw
service vendor.per_proxy /system/vendor/bin/pm-proxy
class core
user system
group system
disabled
on property:init.svc.vendor.per_mgr=running
start vendor.per_proxy
on property:sys.shutdown.requested=*
stop vendor.per_proxy
stop vendor.ims_rtp_daemon
service energy-awareness /system/vendor/bin/energy-awareness
class main
user root
group system
oneshot
on boot
write /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/fw_name PR1702898-s3528t_00260005_00380008.img
write /sys/devices/soc/78b8000.i2c/i2c-4/4-0020/input/input0/update_fw 1