Adding a script to fully support OnePlus 7 Pro 5g
[GitHub/moto-9609/twrp_device_motorola_troika.git] / recovery / root / init.recovery.qcom.rc
1 # Copyright (c) 2009-2012, 2014-2015, The Linux Foundation. All rights reserved.
2 #
3 # Redistribution and use in source and binary forms, with or without
4 # modification, are permitted provided that the following conditions are met:
5 # * Redistributions of source code must retain the above copyright
6 # notice, this list of conditions and the following disclaimer.
7 # * Redistributions in binary form must reproduce the above copyright
8 # notice, this list of conditions and the following disclaimer in the
9 # documentation and/or other materials provided with the distribution.
10 # * Neither the name of The Linux Foundation nor
11 # the names of its contributors may be used to endorse or promote
12 # products derived from this software without specific prior written
13 # permission.
14 #
15 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
18 # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
19 # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20 # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21 # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
22 # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
23 # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
24 # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
25 # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 #
27
28 on fs
29 wait /dev/block/platform/soc/${ro.boot.bootdevice}
30 symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
31 symlink /dev/block/bootdevice/by-name/oem_stanvbk /dev/block/bootdevice/by-name/oem_stanvbk_a
32 symlink /dev/block/bootdevice/by-name/oem_stanvbk /dev/block/bootdevice/by-name/oem_stanvbk_b
33 symlink /dev/block/bootdevice/by-name/oem_dycnvbk /dev/block/bootdevice/by-name/oem_dycnvbk_a
34 symlink /dev/block/bootdevice/by-name/oem_dycnvbk /dev/block/bootdevice/by-name/oem_dycnvbk_b
35
36 # this is for OnePlus 7 Pro 5g stock rom flashing
37 symlink /dev/block/bootdevice/by-name/mdm_oem_stanvbk /dev/block/bootdevice/by-name/mdm_oem_stanvbk_a
38 symlink /dev/block/bootdevice/by-name/mdm_oem_stanvbk /dev/block/bootdevice/by-name/mdm_oem_stanvbk_b
39
40 # this is not good way for Hydrogen payload reserve
41 write /dev/block/bootdevice/by-name/reserve 0
42 symlink /dev/block/bootdevice/by-name/reserve /dev/block/bootdevice/by-name/reserve_a
43 symlink /dev/block/bootdevice/by-name/reserve /dev/block/bootdevice/by-name/reserve_b
44
45 chmod 0660 /dev/qseecom
46 chown system drmrpc /dev/qseecom
47 chmod 0664 /dev/ion
48 chown system system /dev/ion
49 install_keyring
50
51 on early-fs
52 start vold
53
54 # Separate copy needed to use /sbin/linker64 instead of /system/bin/linker64
55 service sbinqseecomd /sbin/qseecomd
56 user root
57 group root
58 disabled
59 seclabel u:r:recovery:s0
60
61 service prepdecrypt /sbin/prepdecrypt.sh
62 oneshot
63 disabled
64 user root
65 group root
66 seclabel u:r:recovery:s0
67
68 service hwservicemanager /sbin/hwservicemanager
69 user root
70 group root
71 disabled
72 onrestart setprop hwservicemanager.ready false
73 seclabel u:r:recovery:s0
74
75 service boot-1-0 /sbin/android.hardware.boot@1.0-service
76 user root
77 group root
78 disabled
79 seclabel u:r:recovery:s0
80
81 service servicemanager /sbin/servicemanager
82 user root
83 group root readproc
84 disabled
85 seclabel u:r:recovery:s0
86
87 service keystore_auth /sbin/keystore_auth
88 oneshot
89 user system
90 group root
91 disabled
92 seclabel u:r:recovery:s0
93
94 # keystore is started and stopped on demand by TWRP
95 service keystore /sbin/keystore /tmp/misc/keystore
96 user root
97 group root drmrpc readproc
98 disabled
99 seclabel u:r:recovery:s0
100
101 service gatekeeper-1-0 /sbin/android.hardware.gatekeeper@1.0-service-qti
102 user root
103 group root
104 disabled
105 seclabel u:r:recovery:s0
106
107 service keymaster-4-0 /sbin/android.hardware.keymaster@4.0-service-qti
108 user root
109 group root
110 disabled
111 seclabel u:r:recovery:s0
112
113 service logd /sbin/logd
114 user root
115 group root
116 disabled
117 seclabel u:r:recovery:s0
118
119 service time_daemon /sbin/time_daemon
120 user root
121 group root
122 disabled
123 seclabel u:r:recovery:s0
124
125 # This helps fix ld.config.txt errors from the linker on Android 8.1+
126 service ldconfigtxt /sbin/touch /sbin/ld.config.txt
127 oneshot
128 seclabel u:r:recovery:s0
129
130 on boot
131 export LD_CONFIG_FILE /sbin/ld.config.txt
132 setprop sys.usb.config adb
133 write /proc/touchpanel/gesture_enable 1
134 write /sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qcom,qpnp-smb2/power_supply/usb/otg_switch 1
135
136 on init
137 start logd
138 start hwservicemanager
139 start boot-1-0
140 start prepdecrypt
141 start time_daemon
142 setprop crypto.ready 1
143
144 on property:crypto.ready=0
145 stop sbinqseecomd
146 stop keymaster-4-0
147 stop gatekeeper-1-0
148 stop servicemanager
149
150 on property:crypto.ready=1
151 start sbinqseecomd
152
153 on property:vendor.sys.listeners.registered=true
154 start keymaster-4-0
155 start gatekeeper-1-0
156 start servicemanager
157 restart time_daemon
158
159 on property:sys.usb.config=mtp,adb
160 restart time_daemon