init.target.rc 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436
  1. # Copyright (c) 2014-2015,2018, 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
  5. # met:
  6. # * Redistributions of source code must retain the above copyright
  7. # notice, this list of conditions and the following disclaimer.
  8. # * Redistributions in binary form must reproduce the above
  9. # copyright notice, this list of conditions and the following
  10. # disclaimer in the documentation and/or other materials provided
  11. # with the distribution.
  12. # * Neither the name of The Linux Foundation nor the names of its
  13. # contributors may be used to endorse or promote products derived
  14. # from this software without specific prior written permission.
  15. #
  16. # THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
  17. # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  18. # MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
  19. # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
  20. # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
  21. # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
  22. # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
  23. # BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  24. # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
  25. # OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  26. # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. #
  28. #
  29. import init.carrier.rc
  30. #import /vendor/st/nfc/st21nfc/conf/init.vendor.st21nfc.rc
  31. on early-init
  32. 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
  33. mkdir /firmware 0771 system system
  34. mkdir /system 0777 root root
  35. mkdir /bt_firmware 0771 system system
  36. symlink /data/tombstones /tombstones
  37. mkdir /dsp 0771 media media
  38. on fs
  39. wait /dev/block/platform/soc/${ro.boot.bootdevice}
  40. symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
  41. write /proc/sys/vm/swappiness 100
  42. mount_all /vendor/etc/fstab.qcom
  43. chown root system /mnt/vendor/persist
  44. chmod 0771 /mnt/vendor/persist
  45. mkdir /mnt/vendor/persist/data 0700 system system
  46. mkdir /mnt/vendor/persist/bms 0700 root system
  47. restorecon_recursive /mnt/vendor/persist
  48. #write /sys/kernel/boot_adsp/boot 1
  49. wait /dev/block/bootdevice/by-name/oem
  50. mount ext4 /dev/block/bootdevice/by-name/oem /oem ro nosuid nodev barrier=1
  51. on post-fs
  52. # set RLIMIT_MEMLOCK to 64MB
  53. setrlimit 8 67108864 67108864
  54. start vendor.qseecomd
  55. exec - system system -- /vendor/bin/init.qti.qseecomd.sh
  56. write /dev/ipa 1
  57. chown system system /sys/devices/proinfo/factoryreset_date
  58. chmod 0664 /sys/devices/proinfo/factoryreset_date
  59. on post-fs-data
  60. mkdir /data/tombstones 0771 system system
  61. mkdir /tombstones/modem 0771 system system
  62. mkdir /tombstones/lpass 0771 system system
  63. mkdir /tombstones/wcnss 0771 system system
  64. mkdir /tombstones/dsps 0771 system system
  65. mkdir /persist/data/sfs 0700 system system
  66. mkdir /persist/data/tz 0700 system system
  67. mkdir /data/vendor/hbtp 0750 system system
  68. mkdir /data/misc/dts 0770 media audio
  69. mkdir /data/vendor/tloc 0700 system drmrpc
  70. #Create folder for mm-qcamera-daemon
  71. mkdir /data/vendor/camera 0770 camera camera
  72. #start camera server as daemon
  73. service qcamerasvr /system/vendor/bin/mm-qcamera-daemon
  74. class late_start
  75. user camera
  76. group camera system inet input graphics
  77. on init
  78. write /dev/stune/top-app/schedtune.colocate 1
  79. write /sys/module/qpnp_rtc/parameters/poweron_alarm 1
  80. service qfp-daemon /system/vendor/bin/qfp-daemon
  81. class late_start
  82. user system
  83. group system drmrpc
  84. # Allow usb charging to be disabled peristently
  85. on property:persist.usb.chgdisabled=1
  86. write /sys/class/power_supply/battery/charging_enabled 0
  87. on property:persist.usb.chgdisabled=0
  88. write /sys/class/power_supply/battery/charging_enabled 1
  89. service qrngd /system/bin/qrngd -f
  90. class main
  91. user root
  92. group root
  93. service qrngp /system/bin/qrngp -f
  94. class main
  95. user root
  96. group root
  97. oneshot
  98. disabled
  99. on property:sys.boot_completed=1
  100. start qrngp
  101. service vendor.qseecomd /vendor/bin/qseecomd
  102. class core
  103. user root
  104. group root
  105. #service aostlmd /system/bin/aostlmd
  106. # class late_start
  107. # user system
  108. # group system net_raw
  109. service perfd /system/vendor/bin/perfd
  110. class main
  111. user root
  112. disabled
  113. service gamed /system/vendor/bin/gamed
  114. class main
  115. user system
  116. group system
  117. disabled
  118. socket gamed seqpacket 0640 system system
  119. service thermal-engine /system/vendor/bin/thermal-engine
  120. class main
  121. user root
  122. socket thermal-send-client stream 0666 system system
  123. socket thermal-recv-client stream 0660 system system
  124. socket thermal-recv-passive-client stream 0666 system system
  125. socket thermal-send-rule stream 0660 system system
  126. group root
  127. service time_daemon /system/vendor/bin/time_daemon
  128. class late_start
  129. user root
  130. group root
  131. service audiod /system/vendor/bin/audiod
  132. class late_start
  133. user system
  134. group system
  135. on boot
  136. #+ExtB328-7580, yiguochao.wt, add, on 20190118
  137. # after mount /mnt/ permission will change to root:root 0755
  138. # so need to restorecon_recursive permission
  139. # cts will check /mnt/ directory permission which do not allow to read
  140. # run cts -m CtsAppSecurityHostTestCases \
  141. # -t android.appsecurity.cts.ExternalStorageHostTest#testExternalStorageNone
  142. #fix DPL-7768 Oman issue
  143. write /proc/sys/net/ipv4/tcp_mtu_probing 1
  144. chown root system /mnt/demoapp
  145. chmod 0771 /mnt/demoapp
  146. restorecon_recursive /mnt/demoapp
  147. chown root system /mnt/elabel
  148. chmod 0771 /mnt/elabel
  149. restorecon_recursive /mnt/elabel
  150. #-ExtB328-7580, yiguochao.wt, add, on 20190118
  151. start rmt_storage
  152. insmod /system/lib/modules/adsprpc.ko
  153. # enable sched boost in order to schedule tasks on perf cluster
  154. write /proc/sys/kernel/sched_boost 1
  155. # access permission for secure touch
  156. chmod 0660 /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable
  157. chmod 0440 /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch
  158. chmod 0660 /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable
  159. chmod 0440 /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch
  160. #bug413048 add sar_sensor node permission and radio group
  161. chmod 0664 /sys/class/capsense/enable
  162. chown system drmrpc /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch_enable
  163. chown system drmrpc /sys/devices/soc.0/78b7000.i2c/i2c-3/3-0020/input/input0/secure_touch
  164. chown system drmrpc /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch_enable
  165. chown system drmrpc /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/secure_touch
  166. chown system system /sys/kernel/hbtp/display_pwr
  167. #bug413048 add sar_sensor node permission and radio group
  168. chown radio radio /sys/class/capsense/enable
  169. chmod 0664 /sys/devices/proinfo/psn
  170. chmod 0664 /sys/devices/proinfo/sn
  171. chown system system /sys/devices/proinfo/psn
  172. chown system system /sys/devices/proinfo/sn
  173. # Add a cpuset for the camera daemon
  174. # We want all cores for camera
  175. mkdir /dev/cpuset/camera-daemon
  176. write /dev/cpuset/camera-daemon/cpus 0-3
  177. write /dev/cpuset/camera-daemon/mems 0
  178. chown cameraserver cameraserver /dev/cpuset/camera-daemon
  179. chown cameraserver cameraserver /dev/cpuset/camera-daemon/tasks
  180. chmod 0660 /dev/cpuset/camera-daemon/tasks
  181. # access permissions for FPC service
  182. chown system system /sys/bus/platform/devices/soc/soc:fpc1020/irq
  183. chown system system /sys/bus/platform/devices/soc/soc:fpc1020/wakeup_enable
  184. chmod 0666 /dev/qseecom
  185. ####Regionalization config and prop files####
  186. chmod 0644 /persist/speccfg/spec
  187. chmod 0644 /persist/speccfg/devicetype
  188. chmod 0644 /persist/speccfg/mbnversion
  189. chmod 0644 /persist/speccfg/.not_triggered
  190. chmod 0644 /persist/speccfg/vendor_ro.prop
  191. chmod 0644 /persist/speccfg/vendor_persist.prop
  192. chmod 0644 /persist/speccfg/submask
  193. chmod 0644 /persist/speccfg/partition
  194. chown system system /persist/speccfg/spec
  195. chown system system /persist/speccfg/devicetype
  196. chown system system /persist/speccfg/mbnversion
  197. chown system system /persist/speccfg/.not_triggered
  198. chown system system /persist/speccfg/vendor_ro.prop
  199. chown system system /persist/speccfg/vendor_persist.prop
  200. chown system system /persist/speccfg/submask
  201. chown system system /persist/speccfg/partition
  202. # access permission for wlan
  203. chown system system /mnt/vendor/persist/WCNSS_qcom_wlan_nv.bin
  204. #USB controller configuration
  205. write /sys/module/g_android/parameters/mtp_tx_req_len 131072
  206. write /sys/module/g_android/parameters/mtp_rx_req_len 131072
  207. setprop vendor.usb.rndis.func.name "rndis"
  208. setprop vendor.usb.rmnet.func.name "rmnet_bam"
  209. setprop vendor.usb.rmnet.inst.name "rmnet_bam_dmux"
  210. setprop vendor.usb.dpl.inst.name "dpl_bam_dmux"
  211. service wcnss-service /system/vendor/bin/wcnss_service
  212. class main
  213. user system
  214. group system wifi radio
  215. oneshot
  216. service imsstarter /vendor/bin/init.qti.ims.sh
  217. class main
  218. oneshot
  219. on property:vold.decrypt=trigger_restart_framework
  220. start imsstarter
  221. ## imsqmidaemon starts with root and UID will be downgraded to SYSTEM.
  222. service vendor.imsqmidaemon /system/vendor/bin/imsqmidaemon
  223. class main
  224. user system
  225. socket ims_qmid stream 0660 system radio
  226. group radio log diag
  227. disabled
  228. on property:vendor.service.qti.ims.enabled=1
  229. start vendor.imsqmidaemon
  230. # imsdatadaemon starts with root and UID will be downgraded to SYSTEM.
  231. service vendor.imsdatadaemon /system/vendor/bin/imsdatadaemon
  232. class main
  233. user system
  234. socket ims_datad stream 0660 system radio
  235. group system wifi radio inet log diag
  236. disabled
  237. on property:vendor.ims.QMI_DAEMON_STATUS=1
  238. start vendor.imsdatadaemon
  239. service stflashtool /vendor/bin/STFlashTool -c /vendor/etc/st21nfc_conf.txt
  240. class late_start
  241. group nfc
  242. user nfc
  243. oneshot
  244. service vendor.ims_rtp_daemon /system/vendor/bin/ims_rtp_daemon
  245. class main
  246. user system
  247. group radio diag inet log
  248. service vendor.imsrcsservice /system/vendor/bin/imsrcsd
  249. class main
  250. user system
  251. group radio diag inet log wakelock
  252. on property:vendor.ims.DATA_DAEMON_STATUS=1
  253. restart vendor.ims_rtp_daemon
  254. service ppd /system/vendor/bin/mm-pp-dpps
  255. class late_start
  256. disabled
  257. user system
  258. socket pps stream 0660 system system
  259. group system graphics
  260. on property:init.svc.surfaceflinger=stopped
  261. stop ppd
  262. on property:init.svc.surfaceflinger=running
  263. start ppd
  264. on property:init.svc.surfaceflinger=restarting
  265. stop ppd
  266. on property:init.svc.zygote=stopped
  267. stop ppd
  268. on property:init.svc.zygote=running
  269. start ppd
  270. on property:init.svc.zygote=restarting
  271. stop ppd
  272. on charger
  273. wait /dev/block/bootdevice/by-name/system
  274. mount ext4 /dev/block/bootdevice/by-name/system /system ro barrier=1
  275. load_all_props
  276. setprop persist.sys.usb.config mass_storage
  277. start qcom-post-boot
  278. setprop persist.sys.usb.config mass_storage
  279. start vendor.hvdcp_opti
  280. start vendor.vm_bms
  281. on charger && property:ro.boot.usbconfigfs=true
  282. setprop sys.usb.configfs 1
  283. on charger && property:ro.boot.usbconfigfs=false
  284. setprop sys.usb.configfs 0
  285. service hbtp /system/vendor/bin/hbtp_daemon
  286. class main
  287. user system
  288. group system
  289. disabled
  290. service dts_configurator /system/vendor/bin/dts_configurator
  291. class late_start
  292. user system
  293. group media audio
  294. oneshot
  295. service dtseagleservice /system/vendor/bin/dts_eagle_service
  296. class late_start
  297. user system
  298. group audio media
  299. disabled
  300. service adsprpcd /system/vendor/bin/adsprpcd
  301. class main
  302. user media
  303. group media
  304. on property:init.svc.dts_configurator=stopped
  305. start dtseagleservice
  306. service vendor.per_mgr /system/vendor/bin/pm-service
  307. class core
  308. user system
  309. group system net_raw
  310. service vendor.per_proxy /system/vendor/bin/pm-proxy
  311. class core
  312. user system
  313. group system
  314. disabled
  315. on property:init.svc.vendor.per_mgr=running
  316. start vendor.per_proxy
  317. on property:sys.shutdown.requested=*
  318. stop vendor.per_proxy
  319. stop vendor.ims_rtp_daemon
  320. service vendor.hvdcp_opti /vendor/bin/hvdcp_opti
  321. class main
  322. user root
  323. group system wakelock
  324. service vendor.vm_bms /vendor/bin/vm_bms
  325. class main
  326. user root
  327. group system wakelock
  328. service mdtpd /system/vendor/bin/mdtpd
  329. class late_start
  330. user root
  331. group system radio drmrpc
  332. on boot
  333. write /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/fw_name PR1702898-s3528t_00260005_00380008.img
  334. write /sys/devices/soc.0/78b8000.i2c/i2c-4/4-0020/input/input0/update_fw 1
  335. service vendor.tlocd /vendor/bin/tloc_daemon
  336. class late_start
  337. user system
  338. group drmrpc gps net_raw
  339. on boot
  340. chown system system /sys/class/leds/red/blink
  341. chown system system /sys/class/leds/red/breath
  342. chown system system /sys/class/leds/red/delay_on
  343. chown system system /sys/class/leds/red/delay_off
  344. chown system system /sys/class/leds/green/blink
  345. chown system system /sys/class/leds/green/breath
  346. chown system system /sys/class/leds/green/delay_on
  347. chown system system /sys/class/leds/green/delay_off
  348. chown system system /sys/class/leds/blue/blink
  349. chown system system /sys/class/leds/blue/breath
  350. chown system system /sys/class/leds/blue/delay_on
  351. chown system system /sys/class/leds/blue/delay_off
  352. on post-fs
  353. chmod 660 /dev/fpsensor
  354. chown system system /dev/fpsensor
  355. chmod 660 /dev/sunwave_fp
  356. chown system system /dev/sunwave_fp
  357. on property:sys.boot_completed=1
  358. write /sys/devices/proinfo/psn ${oem.radio.factory_psn}
  359. write /sys/devices/proinfo/sn ${oem.radio.factory_sn}