init.qcom.rc 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947
  1. # Copyright (c) 2009-2012, 2014-2021, 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. # Changes from Qualcomm Innovation Center are provided under the following
  28. # license:
  29. #
  30. # Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
  31. #
  32. # Redistribution and use in source and binary forms, with or without
  33. # modification, are permitted (subject to the limitations in the
  34. # disclaimer below) provided that the following conditions are met:
  35. #
  36. # * Redistributions of source code must retain the above copyright
  37. # notice, this list of conditions and the following disclaimer.
  38. #
  39. # * Redistributions in binary form must reproduce the above
  40. # copyright notice, this list of conditions and the following
  41. # disclaimer in the documentation and/or other materials provided
  42. # with the distribution.
  43. #
  44. # * Neither the name of Qualcomm Innovation Center, Inc. nor the names of its
  45. # contributors may be used to endorse or promote products derived
  46. # from this software without specific prior written permission.
  47. #
  48. # NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE
  49. # GRANTED BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT
  50. # HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
  51. # WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
  52. # MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
  53. # IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
  54. # ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  55. # DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
  56. # GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
  57. # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
  58. # IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  59. # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
  60. # IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  61. import /vendor/etc/init/hw/init.qti.ufs.rc
  62. import /vendor/etc/init/hw/init.qcom.usb.rc
  63. import /vendor/etc/init/hw/init.qcom.test.rc
  64. import /vendor/etc/init/hw/init.target.rc
  65. import /vendor/etc/init/hw/init.qcom.factory.rc
  66. on early-init
  67. mount tracefs tracefs /sys/kernel/tracing
  68. chmod 0755 /sys/kernel/tracing
  69. # Change ownership of sysfs power control node
  70. chown system graphics /sys/class/drm/card0/device/power/control
  71. #Disable UFS clock scaling
  72. write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 0
  73. #Disable UFS auto_hibern8
  74. write /sys/bus/platform/devices/1d84000.ufshc/auto_hibern8 0
  75. #Disable UFS clock gating
  76. write /sys/bus/platform/devices/1d84000.ufshc/clkgate_enable 0
  77. chown root system /dev/kmsg
  78. chmod 0620 /dev/kmsg
  79. # Load WIGIG platform driver
  80. exec u:r:vendor_modprobe:s0 -- /vendor/bin/modprobe -a -d /vendor/lib/modules msm_11ad_proxy
  81. on init
  82. # Create cgroup mount point for memory
  83. mkdir /sys/fs/cgroup/memory/bg 0750 root system
  84. write /sys/fs/cgroup/memory/bg/memory.swappiness 140
  85. write /sys/fs/cgroup/memory/bg/memory.move_charge_at_immigrate 1
  86. chown root system /sys/fs/cgroup/memory/bg/tasks
  87. chmod 0660 /sys/fs/cgroup/memory/bg/tasks
  88. on post-fs
  89. on early-boot
  90. # set RLIMIT_MEMLOCK to 64KB
  91. setrlimit 8 65536 65536
  92. exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qcom.early_boot.sh
  93. exec u:r:vendor_qti_init_shell:s0 -- /vendor/bin/init.qti.can.sh
  94. setprop ro.sf.lcd_density ${vendor.display.lcd_density}
  95. chown system system /mnt/vendor/persist/data/pfm/licenses
  96. chmod 0775 /mnt/vendor/persist/data/pfm/licenses
  97. chown system system /mnt/vendor/persist/data/pfm/licenses/store_0
  98. chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_0
  99. chown system system /mnt/vendor/persist/data/pfm/licenses/store_1
  100. chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_1
  101. chown system system /mnt/vendor/persist/data/pfm/licenses/store_2
  102. chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_2
  103. chown system system /mnt/vendor/persist/data/pfm/licenses/store_3
  104. chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_3
  105. chown system system /mnt/vendor/persist/data/pfm/licenses/store_4
  106. chmod 0664 /mnt/vendor/persist/data/pfm/licenses/store_4
  107. on boot
  108. chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
  109. chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
  110. chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
  111. chown bluetooth bluetooth /proc/bluetooth/sleep/proto
  112. chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm
  113. chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite
  114. chown system system /sys/module/sco/parameters/disable_esco
  115. chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
  116. chown system system /sys/module/msm_core/parameters/polling_interval
  117. chown system system /sys/module/msm_core/parameters/disabled
  118. chown system system /sys/kernel/boot_slpi/ssr
  119. chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
  120. chmod 0660 /sys/module/bluetooth_power/parameters/power
  121. chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
  122. chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set
  123. chmod 0660 /sys/class/rfkill/rfkill0/state
  124. chmod 0660 /proc/bluetooth/sleep/proto
  125. chown bluetooth net_bt /dev/ttyHS0
  126. chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
  127. chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
  128. chmod 0660 /dev/ttyHS0
  129. chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock
  130. chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
  131. chmod 0660 /dev/ttyHS2
  132. chown bluetooth bluetooth /dev/ttyHS2
  133. chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
  134. chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
  135. chown media audio /sys/kernel/snd_card/card_state
  136. # for BT MAC address
  137. mkdir /mnt/vendor/efs/bluetooth 0770 system bluetooth
  138. # if already exist
  139. chown system bluetooth /mnt/vendor/efs/bluetooth
  140. chown system bluetooth /mnt/vendor/efs/bluetooth/bt_addr
  141. chmod 0770 /mnt/vendor/efs/bluetooth
  142. chmod 0660 /mnt/vendor/efs/bluetooth/bt_addr
  143. # permissions for bluetooth.
  144. setprop ro.bt.bdaddr_path "/mnt/vendor/efs/bluetooth/bt_addr"
  145. chown bluetooth bluetooth ro.bt.bdaddr_path
  146. # This location is used by QCRIL to host UNIX domain
  147. # socket files used for internal IPC within QCRIL
  148. # modules
  149. mkdir /dev/socket/qmux_radio 0770 radio radio
  150. chmod 2770 /dev/socket/qmux_radio
  151. mkdir /persist/drm 0770 system system
  152. mkdir /persist/bluetooth 0770 bluetooth bluetooth
  153. mkdir /persist/misc 0770 system system
  154. mkdir /persist/alarm 0770 system system
  155. mkdir /mnt/vendor/persist/time 0770 system system
  156. mkdir /mnt/vendor/persist/iar_db 0770 system system
  157. mkdir /mnt/vendor/spunvm 0770 system system
  158. #Create WIGIG socket area
  159. mkdir /dev/socket/wigig 0770 wifi wifi
  160. setprop wifi.interface wlan0
  161. setprop ro.telephony.call_ring.multiple false
  162. chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
  163. setprop net.tcp.2g_init_rwnd 10
  164. # To prevent out of order acknowledgements from making
  165. # connection tracking to treat them as not belonging to
  166. # the connection they belong to.
  167. # Otherwise, a weird issue happens in which some long
  168. # connections on high-throughput links get dropped when
  169. # an ack packet comes out of order
  170. write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
  171. # Allow access for CCID command/response timeout configuration
  172. chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
  173. # bond0 used by FST Manager
  174. chown wifi wifi /sys/class/net/bond0/bonding/queue_id
  175. # Allow access to emmc rawdump block partition and dload sysfs node
  176. chown root system /dev/block/bootdevice/by-name/rawdump
  177. chmod 0660 /dev/block/bootdevice/by-name/rawdump
  178. chown root system /sys/kernel/dload/emmc_dload
  179. chmod 0660 /sys/kernel/dload/emmc_dload
  180. chown root system /dev/block/bootdevice/by-name/ramdump
  181. chmod 0660 /dev/block/bootdevice/by-name/ramdump
  182. chown root system /sys/kernel/dload/dload_mode
  183. chmod 0660 /sys/kernel/dload/dload_mode
  184. chown root graphics /sys/module/msm_drm/parameters/dsi_display0
  185. chmod 0640 /sys/module/msm_drm/parameters/dsi_display0
  186. chown root graphics /sys/module/msm_drm/parameters/dsi_display1
  187. chmod 0640 /sys/module/msm_drm/parameters/dsi_display1
  188. chown root system /sys/kernel/qts/primary/trusted_touch_enable
  189. chown root system /sys/kernel/qts/primary/trusted_touch_event
  190. chown root system /sys/kernel/qts/primary/trusted_touch_type
  191. chown root system /sys/kernel/qts/primary/trusted_touch_device_path
  192. chown root system /sys/kernel/qts/secondary/trusted_touch_enable
  193. chown root system /sys/kernel/qts/secondary/trusted_touch_event
  194. chown root system /sys/kernel/qts/secondary/trusted_touch_type
  195. chown root system /sys/kernel/qts/secondary/trusted_touch_device_path
  196. chown system system /sys/class/backlight/panel0-backlight/brightness
  197. chown system system /sys/class/backlight/panel0-backlight/max_brightness
  198. chown system system /sys/class/backlight/panel1-backlight/brightness
  199. chown system system /sys/class/backlight/panel1-backlight/max_brightness
  200. # Allow access to sensors device attributes
  201. # SS_SLPI_PROJECT
  202. #chown system system /sys/class/sensors/MPU6050-accel/enable
  203. #chown system system /sys/class/sensors/MPU6050-accel/poll_delay
  204. #chown system system /sys/class/sensors/MPU6050-gyro/enable
  205. #chown system system /sys/class/sensors/MPU6050-gyro/poll_delay
  206. #chown system system /sys/class/sensors/apds9930-light/enable
  207. #chown system system /sys/class/sensors/apds9930-light/poll_delay
  208. #chown system system /sys/class/sensors/apds9930-proximity/enable
  209. #chown system system /sys/class/sensors/apds9930-proximity/poll_delay
  210. # Create directory used for display
  211. # for backward compatibility
  212. mkdir /persist/display 0770 system graphics
  213. mkdir /mnt/vendor/persist/display 0770 system graphics
  214. # Create vpp directory
  215. mkdir /mnt/vendor/persist/vpp 0770 media media
  216. # Create hvdcp_opti directory
  217. mkdir /mnt/vendor/persist/hvdcp_opti 0770 root system
  218. # limit discard size to 128MB in order to avoid long IO latency
  219. write /sys/block/sda/queue/discard_max_bytes 134217728
  220. # msm specific files that need to be created on /data
  221. on post-fs-data
  222. mkdir /data/vendor/misc 01771 system system
  223. # Create directory used for dump collection
  224. mkdir /data/vendor/ssrdump 0770 root system
  225. # Create directory used by display clients
  226. mkdir /data/vendor/display 0770 system graphics
  227. # Change lm related dirs
  228. mkdir /data/vendor/lm 0700 root root
  229. # Create directory used by powermodule
  230. mkdir /data/vendor/pwr 0700 root root
  231. # Create directory used by media clients
  232. mkdir /data/vendor/media 0770 mediacodec media
  233. # Create /data/vendor/tzstorage directory for SFS listener
  234. mkdir /data/vendor/tzstorage 0770 system system
  235. # Create directory for apps access via QTEEConnector
  236. mkdir /data/vendor/qtee 0770 system system
  237. #Create folder of camera
  238. mkdir /data/vendor/camera 0770 camera system
  239. mkdir /data/vendor/camera/logdump 0770 camera system
  240. chmod 0664 /data/vendor/camera/camxoverridesettings.txt
  241. #Create directory for tftp
  242. mkdir /data/vendor/tombstones 0771 system system
  243. mkdir /data/vendor/tombstones/rfs 0771 system system
  244. mkdir /data/vendor/ramdump 0771 root system
  245. mkdir /data/vendor/bluetooth 0770 bluetooth bluetooth
  246. mkdir /data/vendor/ramdump/bluetooth 0770 bluetooth bluetooth
  247. # Create the directories used by the Wireless subsystem
  248. mkdir /data/vendor/wifi 0770 wifi wifi
  249. mkdir /data/vendor/wifi/sockets 0770 wifi wifi
  250. mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
  251. mkdir /data/vendor/wifi/hostapd/ctrl 0770 wifi wifi
  252. mkdir /data/vendor/wifi/wpa_supplicant 0770 wifi wifi
  253. mkdir /data/vendor/wifi/wigig_hostapd 0770 wifi wifi
  254. mkdir /data/vendor/wifi/wpa 0770 wifi wifi
  255. mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
  256. # Create the directories used by WiGig Sensing
  257. mkdir /data/vendor/sensing 0770 system wifi
  258. # Create the directories used by CnE subsystem
  259. mkdir /data/vendor/connectivity 0771 radio radio
  260. chown radio radio /data/vendor/connectivity
  261. # Create directory used by audio subsystem
  262. mkdir /data/vendor/audio 0770 audio audio
  263. mkdir /data/vendor/audio_dsp 0770 media media
  264. mkdir /data/vendor/audio/audio_collector 0770 audio audio
  265. # Create directory for audio delta files
  266. mkdir /data/vendor/audio/acdbdata 0770 media audio
  267. mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
  268. # Create directory for radio
  269. mkdir /data/vendor/radio 0770 system radio
  270. rm /data/vendor/radio/shmbus
  271. # Create directory for modem_config
  272. mkdir /data/vendor/modem_config 0570 radio root
  273. # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
  274. # We chown/chmod /persist again so because mount is run as root + defaults
  275. chown root system /persist
  276. chmod 0771 /persist
  277. chown system system /persist/WCNSS_qcom_wlan_nv.bin
  278. chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
  279. chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
  280. chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
  281. chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
  282. # Chown polling nodes as needed from UI running on system server
  283. chown system system /sys/devices/platform/msm_sdcc.1/polling
  284. chown system system /sys/devices/platform/msm_sdcc.2/polling
  285. chown system system /sys/devices/platform/msm_sdcc.3/polling
  286. chown system system /sys/devices/platform/msm_sdcc.4/polling
  287. #Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
  288. #symlink /data/misc/wifi/wpa_supplicant /data/system/wpa_supplicant
  289. #Create directories for Location services
  290. mkdir /data/vendor/location 0770 gps gps
  291. mkdir /data/vendor/location/mq 0770 gps gps
  292. mkdir /data/vendor/location/xtwifi 0770 gps gps
  293. mkdir /dev/socket/location 0770 gps gps
  294. mkdir /dev/socket/location/mq 0770 gps gps
  295. mkdir /dev/socket/location/xtra 0770 gps gps
  296. mkdir /dev/socket/location/ehub 0770 gps gps
  297. mkdir /dev/socket/location/dgnss 0770 gps gps
  298. #Create directories for wifihal services
  299. mkdir /dev/socket/wifihal 0770 wifi wifi
  300. chmod 2770 /dev/socket/wifihal
  301. # Create /data/time folder for time-services
  302. mkdir /data/vendor/time/ 0700 system system
  303. setprop vold.post_fs_data_done 1
  304. #Create a folder for SRS to be able to create a usercfg file
  305. #mkdir /data/data/media 0770 media media
  306. #Create FM dir for patchdownloader
  307. mkdir /data/vendor/fm 0770 system system
  308. chmod 0770 /data/vendor/fm
  309. #Create PERFD deamon related dirs
  310. mkdir /data/vendor/perfd 0770 root system
  311. chmod 2770 /data/vendor/perfd
  312. rm /data/vendor/perfd/default_values
  313. mkdir /data/vendor/secure_element 0777 system system
  314. mkdir /data/vendor/nfc 0770 nfc nfc
  315. #Create IOP deamon related dirs
  316. mkdir /data/vendor/iop 0700 root system
  317. # Mark the copy complete flag to not completed
  318. write /data/vendor/radio/copy_complete 0
  319. chown radio radio /data/vendor/radio/copy_complete
  320. chmod 0660 /data/vendor/radio/copy_complete
  321. # copy prebuilt qcril.db files always
  322. copy /vendor/radio/qcril_database/qcril.db /data/vendor/radio/qcril_prebuilt.db
  323. chown radio radio /data/vendor/radio/qcril_prebuilt.db
  324. chmod 0660 /data/vendor/radio/qcril_prebuilt.db
  325. copy /vendor/radio/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db
  326. copy /vendor/etc/qcril_database/qcrilNr.db /data/vendor/radio/qcrilNr_prebuilt.db
  327. chown radio radio /data/vendor/radio/qcrilNr_prebuilt.db
  328. chmod 0660 /data/vendor/radio/qcrilNr_prebuilt.db
  329. # File flags for prebuilt ril db file
  330. write /data/vendor/radio/prebuilt_db_support 1
  331. chown radio radio /data/vendor/radio/prebuilt_db_support
  332. chmod 0400 /data/vendor/radio/prebuilt_db_support
  333. write /data/vendor/radio/db_check_done 0
  334. chown radio radio /data/vendor/radio/db_check_done
  335. chmod 0660 /data/vendor/radio/db_check_done
  336. # qti-logkit data
  337. mkdir /data/vendor/qti-logkit/ 0771 system system
  338. mkdir /data/vendor/qti-logkit/shared-privileged/ 2770 system system
  339. mkdir /data/vendor/qti-logkit/shared-public/ 2770 system diag
  340. mkdir /data/vendor/qti-logkit/socket-privileged/ 2770 system system
  341. mkdir /data/vendor/qti-logkit/socket-public/ 2750 system diag
  342. mkdir /data/vendor/qti-logkit/logdata/ 2750 system shell
  343. #Create SWAP related dirs
  344. mkdir /data/vendor/swap 0770 root system
  345. chmod 2770 /data/vendor/swap
  346. # set aggressive read ahead for dm-0 and dm-1 during boot up
  347. write /sys/block/dm-0/queue/read_ahead_kb 2048
  348. write /sys/block/dm-1/queue/read_ahead_kb 2048
  349. write /sys/block/dm-2/queue/read_ahead_kb 2048
  350. # Create vpp directory
  351. mkdir /data/vendor/vpp 0770 media media
  352. #Create dir for TUI
  353. mkdir /data/vendor/tui 0700 system drmrpc
  354. service nqnfcinfo /system/vendor/bin/nqnfcinfo
  355. class late_start
  356. group nfc
  357. user system
  358. oneshot
  359. service iop /system/vendor/bin/iop
  360. class main
  361. user root
  362. group root
  363. disabled
  364. socket iop seqpacket 0666 root system
  365. service qcomsysd /system/vendor/bin/qcom-system-daemon
  366. class main
  367. user root
  368. group root diag oem_2901
  369. disabled
  370. on property:persist.vendor.qcomsysd.enabled=1
  371. enable qcomsysd
  372. on property:persist.vendor.qcomsysd.enabled=0
  373. stop qcomsysd
  374. service vendor.ssr_setup /system/vendor/bin/ssr_setup
  375. oneshot
  376. disabled
  377. service vendor.ss_ramdump /system/vendor/bin/subsystem_ramdump
  378. class main
  379. user system
  380. group system
  381. ioprio rt 4
  382. disabled
  383. service qti-ss-ramdump /vendor/bin/sh /vendor/etc/init/hw/init.qti.ss-ramdump.sh ${persist.vendor.ssr.enable_ramdumps}
  384. class core
  385. user root
  386. oneshot
  387. #seclabel u:r:vendor-qti-testscripts:s0
  388. on property:ro.vendor.iocgrp.config=1
  389. mkdir /dev/blkio
  390. mount cgroup none /dev/blkio blkio
  391. chown system system /dev/blkio
  392. chown system system /dev/blkio/tasks
  393. chmod 0664 /dev/blkio/tasks
  394. mkdir /dev/blkio/bg 0755 system system
  395. chown system system /dev/blkio/bg/tasks
  396. chmod 0664 /dev/blkio/bg/tasks
  397. write /dev/blkio/blkio.weight 1000
  398. write /dev/blkio/bg/blkio.weight 100
  399. on property:persist.sys.ssr.enable_debug=*
  400. write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}
  401. on property:persist.sys.mba_boot_timeout=*
  402. write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
  403. on property:persist.sys.modem_auth_timeout=*
  404. write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
  405. on property:persist.sys.pil_proxy_timeout=*
  406. write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
  407. on property:persist.vendor.ssr.restart_level=*
  408. start vendor.ssr_setup
  409. on property:persist.vendor.ssr.enable_ramdumps=1
  410. write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
  411. write /sys/module/qcom_ramdump/parameters/enable_dump_collection 1
  412. start qti-ss-ramdump
  413. mkdir /data/vendor/ramdump_ssr 770 system system
  414. start vendor.ss_ramdump
  415. on property:persist.vendor.ssr.enable_ramdumps=0
  416. write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
  417. write /sys/module/qcom_ramdump/parameters/enable_dump_collection 0
  418. start qti-ss-ramdump
  419. on property:persist.vendor.sys.rawdump_copy=1
  420. write /sys/kernel/dload/emmc_dload 1
  421. on property:persist.vendor.sys.rawdump_copy=0
  422. write /sys/kernel/dload/emmc_dload 0
  423. on property:sys.boot_completed=1
  424. write /dev/kmsg "Boot completed "
  425. #Enable UFS clock scaling back
  426. write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
  427. #Enable UFS auto_hibern8 back
  428. write /sys/bus/platform/devices/1d84000.ufshc/auto_hibern8 2000
  429. #Enable UFS clock gating back
  430. write /sys/bus/platform/devices/1d84000.ufshc/clkgate_enable 1
  431. #Reset read ahead for dm-0 and dm-1 to 512kb
  432. write /sys/block/dm-0/queue/read_ahead_kb 512
  433. write /sys/block/dm-1/queue/read_ahead_kb 512
  434. #WDSP FW boot sysfs node used by STHAL
  435. chown media audio /sys/kernel/wdsp0/boot
  436. chown media audio /sys/kernel/wcd_cpe0/fw_name
  437. #Reinit lmkd to reconfigure lmkd properties
  438. setprop lmkd.reinit 1
  439. chown media audio /sys/kernel/aud_dev/state
  440. write /sys/devices/virtual/cvp/cvp/boot 1
  441. on property:persist.vendor.radio.atfwd.start=false
  442. stop vendor.atfwd
  443. on property:vendor.radio.atfwd.start=false
  444. stop vendor.atfwd
  445. # corefile limit
  446. on property:persist.debug.trace=1
  447. mkdir /data/core 0777 root root
  448. write /proc/sys/kernel/core_pattern "/data/core/%E.%p.%e"
  449. on property:vendor.media.target.version=*
  450. setprop vendor.sys.media.target.version ${vendor.media.target.version}
  451. on property:vendor.media.target_variant=*
  452. setprop ro.media.xml_variant.codecs ${vendor.media.target_variant}
  453. setprop ro.media.xml_variant.codecs_performance ${vendor.media.target_variant}
  454. service qcom-c_core-sh /vendor/bin/init.qcom.class_core.sh
  455. class core
  456. user root
  457. oneshot
  458. service qcom-c_main-sh /vendor/bin/init.class_main.sh
  459. class main
  460. user root
  461. group root system
  462. oneshot
  463. on property:vold.decrypt=trigger_restart_framework
  464. start qcom-c_main-sh
  465. start wcnss-service
  466. service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
  467. class core
  468. user root
  469. oneshot
  470. service qmiproxy /system/bin/qmiproxy
  471. class main
  472. user radio
  473. group radio diag
  474. disabled
  475. service vendor.wigig_supplicant /vendor/bin/hw/wpa_supplicant \
  476. -iwigig0 -Dnl80211 -c/data/vendor/wifi/wigig_supplicant.conf \
  477. -m/data/vendor/wifi/wigig_p2p_supplicant.conf \
  478. -O/data/vendor/wifi/wigig_sockets -dd \
  479. -e/data/vendor/wifi/wigig_entropy.bin -g@android:wigig/wpa_wigig0 \
  480. -S wigigsvc
  481. # we will start as root and wpa_supplicant will switch to user wifi
  482. # after setting up the capabilities required for WEXT
  483. # user wifi
  484. # group wifi inet keystore
  485. class main
  486. socket wigig/wpa_wigig0 dgram 660 wifi wifi
  487. disabled
  488. oneshot
  489. # Data Migration
  490. service vendor.move_wifi_data /system/bin/move_wifi_data.sh
  491. class main
  492. user wifi
  493. group wifi
  494. disabled
  495. oneshot
  496. service wigignpt /vendor/bin/wigignpt
  497. interface [email protected]::INetPerfTuner default
  498. class hal
  499. socket wigig/wigignpt stream 660 system wifi
  500. user system
  501. group wifi
  502. capabilities NET_ADMIN
  503. disabled
  504. on property:persist.vendor.wigig.npt.enable=1
  505. start wigignpt
  506. service vendor.sensingdaemon /vendor/bin/sensingdaemon
  507. class hal
  508. socket wigig/sensingdaemon stream 660 system wifi
  509. user system
  510. group wifi
  511. disabled
  512. service dhcpcd_wlan0 /system/bin/dhcpcd -ABKLG
  513. class late_start
  514. disabled
  515. oneshot
  516. service dhcpcd_bond0 /system/bin/dhcpcd -ABKLG
  517. class late_start
  518. disabled
  519. oneshot
  520. service dhcpcd_p2p /system/bin/dhcpcd -ABKLG
  521. class late_start
  522. disabled
  523. oneshot
  524. service dhcpcd_wigig0 /system/bin/dhcpcd -ABKLG
  525. class late_start
  526. disabled
  527. oneshot
  528. service iprenew_wlan0 /system/bin/dhcpcd -n
  529. class late_start
  530. disabled
  531. oneshot
  532. service iprenew_bond0 /system/bin/dhcpcd -n
  533. class late_start
  534. disabled
  535. oneshot
  536. service iprenew_p2p /system/bin/dhcpcd -n
  537. class late_start
  538. disabled
  539. oneshot
  540. service iprenew_wigig0 /system/bin/dhcpcd -n
  541. class late_start
  542. disabled
  543. oneshot
  544. service ptt_ffbm /system/vendor/bin/ptt_socket_app -f -d
  545. user root
  546. group root
  547. disabled
  548. oneshot
  549. service wifi_ftmd /system/vendor/bin/wifi_ftmd
  550. user system
  551. group system inet net_admin
  552. socket wififtmd_server dgram 0660 system system
  553. disabled
  554. oneshot
  555. on property:vendor.wifi.ftmd.load=true
  556. insmod /system/lib/modules/pronto/pronto_wlan.ko con_mode=5
  557. service cnss-daemon /system/vendor/bin/cnss-daemon -n -l
  558. class late_start
  559. user system
  560. group system inet net_admin wifi
  561. capabilities NET_ADMIN
  562. on property:sys.shutdown.requested=*
  563. write /sys/kernel/shutdown_wlan/shutdown 1
  564. stop cnss-daemon
  565. service dhcpcd_bt-pan /system/bin/dhcpcd -BKLG
  566. class late_start
  567. disabled
  568. oneshot
  569. service iprenew_bt-pan /system/bin/dhcpcd -n
  570. class late_start
  571. disabled
  572. oneshot
  573. service mlid /vendor/bin/mlid
  574. class late_start
  575. user gps
  576. group gps
  577. socket mlid stream 0666 gps gps
  578. service loc_launcher /system/vendor/bin/loc_launcher
  579. class late_start
  580. user gps
  581. group gps
  582. service qcom-sh /vendor/bin/init.qcom.sh
  583. class late_start
  584. user root
  585. group root system radio
  586. oneshot
  587. # Remove since is deprecated but throws AVC denial.
  588. # service crashdata-sh /vendor/bin/init.qcom.crashdata.sh
  589. # class late_start
  590. # user root
  591. # oneshot
  592. service qcom-post-boot /vendor/bin/init.qcom.post_boot.sh
  593. class late_start
  594. user root
  595. group root system wakelock graphics
  596. disabled
  597. oneshot
  598. service qti-testscripts /system/bin/sh /product/etc/init.qcom.testscripts.sh
  599. class late_start
  600. user root
  601. disabled
  602. oneshot
  603. seclabel u:r:qti-testscripts:s0
  604. service wifi-sdio-on /vendor/bin/init.qcom.sdio.sh
  605. class late_start
  606. group wifi inet
  607. disabled
  608. oneshot
  609. service wifi-crda /vendor/bin/init.crda.sh
  610. class late_start
  611. user root
  612. disabled
  613. oneshot
  614. on property:sys.boot_completed=1
  615. start qcom-post-boot
  616. start qti-testscripts
  617. start init_time_daemon
  618. on property:ro.vendor.ril.mbn_copy_completed=1
  619. write /data/vendor/radio/copy_complete 1
  620. service vendor.atfwd /vendor/bin/ATFWD-daemon
  621. class late_start
  622. user system
  623. group system radio
  624. service hostapd_fst /vendor/bin/hw/hostapd -dd -g /data/vendor/wifi/hostapd/global
  625. class main
  626. capabilities NET_ADMIN NET_RAW
  627. user wifi
  628. group wifi
  629. disabled
  630. oneshot
  631. service battery_monitor /system/bin/battery_monitor
  632. user system
  633. group system
  634. disabled
  635. service vendor.ril-daemon2 /vendor/bin/hw/rild -c 2
  636. class main
  637. user radio
  638. disabled
  639. group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
  640. capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
  641. service vendor.ril-daemon3 /vendor/bin/hw/rild -c 3
  642. class main
  643. user radio
  644. disabled
  645. group radio cache inet misc audio sdcard_r sdcard_rw diag oem_2901 log
  646. capabilities BLOCK_SUSPEND NET_ADMIN NET_RAW
  647. service profiler_daemon /system/bin/profiler_daemon
  648. class late_start
  649. user root
  650. group root
  651. disabled
  652. service vendor.ssr_diag /system/vendor/bin/ssr_diag
  653. class late_start
  654. user system
  655. group system
  656. disabled
  657. service diag_mdlog_start /system/vendor/bin/diag_mdlog
  658. class late_start
  659. user shell
  660. group system oem_2901 sdcard_rw sdcard_r media_rw
  661. disabled
  662. oneshot
  663. service diag_mdlog_stop /system/vendor/bin/diag_mdlog -k
  664. class late_start
  665. user shell
  666. group system oem_2901 sdcard_rw sdcard_r media_rw
  667. disabled
  668. oneshot
  669. service qlogd /system/xbin/qlogd
  670. socket qlogd stream 0662 system system
  671. class main
  672. disabled
  673. on property:persist.sys.qlogd=1
  674. start qlogd
  675. on property:persist.sys.qlogd=0
  676. stop qlogd
  677. service vm_bms /vendor/bin/vm_bms
  678. user root
  679. group root
  680. disabled
  681. service vendor.msm_irqbalance /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance.conf
  682. class core
  683. user root
  684. group root
  685. disabled
  686. service vendor.msm_irqbal_lb /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_little_big.conf
  687. class core
  688. user root
  689. group root
  690. disabled
  691. service vendor.msm_irqbl_sdm630 /vendor/bin/msm_irqbalance -f /system/vendor/etc/msm_irqbalance_sdm630.conf
  692. class core
  693. user root
  694. group root
  695. disabled
  696. # service for USERDEBUG
  697. service vendor.LKCore-dbg /vendor/bin/LKCore
  698. class late_start
  699. oneshot
  700. disabled
  701. user root
  702. group root system log diag net_raw
  703. # service for USER
  704. service vendor.LKCore-rel /vendor/bin/LKCore
  705. class late_start
  706. oneshot
  707. disabled
  708. user system
  709. group system log diag
  710. on charger
  711. #Enable UFS clock scaling back
  712. write /sys/bus/platform/devices/1d84000.ufshc/clkscale_enable 1
  713. #Enable UFS auto_hibern8 back
  714. write /sys/bus/platform/devices/1d84000.ufshc/auto_hibern8 2000
  715. #Enable UFS clock gating back
  716. write /sys/bus/platform/devices/1d84000.ufshc/clkgate_enable 1
  717. setprop persist.sys.usb.config mass_storage
  718. start qcom-post-boot
  719. #add poweroffhandler
  720. service poweroffhandler /system/vendor/bin/poweroffhandler
  721. class core
  722. user media
  723. group graphics audio
  724. disabled
  725. oneshot
  726. service time_daemon /vendor/bin/time_daemon
  727. class main
  728. user system
  729. group system
  730. capabilities SYS_TIME
  731. #Mixed HWC versions among targets
  732. on property:init.svc.surfaceflinger=restarting
  733. stop vendor.qti.hardware.display.composer
  734. start vendor.qti.hardware.display.composer
  735. service init_time_daemon /vendor/bin/sh /vendor/bin/init.qti.time.daemon.sh ${persist.vendor.time_services.init}
  736. class late_start
  737. user system
  738. group system
  739. disabled
  740. oneshot
  741. capabilities SYS_TIME
  742. seclabel u:r:vendor_init-qti-time-daemon-sh:s0
  743. # Set vendor-ril lib path based on Meta version
  744. on property:vendor.rild.libpath=*
  745. setprop rild.libpath ${vendor.rild.libpath}
  746. on property:ro.vendor.radio.noril=*
  747. setprop ro.radio.noril ${ro.vendor.radio.noril}
  748. service vendor.power_off_alarm /vendor/bin/power_off_alarm
  749. class core
  750. group system
  751. disabled
  752. oneshot
  753. service vendor.hbtp /vendor/bin/hbtp_daemon
  754. class main
  755. user system
  756. group system
  757. capabilities SYS_NICE
  758. disabled
  759. #service chre /vendor/bin/chre
  760. # class late_start
  761. # user system
  762. # group system
  763. # socket chre seqpacket 0660 root system
  764. # shutdown critical
  765. #on property:vendor.chre.enabled=0
  766. # stop chre
  767. on property:sys.factory.running_pretest=true
  768. write /sys/class/sensors/accelerometer_sensor/lowpassfilter 2
  769. write /sys/class/sensors/sub_accelerometer_sensor/lowpassfilter 2
  770. on property:sys.factory.running_pretest=false
  771. write /sys/class/sensors/accelerometer_sensor/lowpassfilter 1
  772. write /sys/class/sensors/sub_accelerometer_sensor/lowpassfilter 1
  773. service bugreport /system/bin/dumpstate -d -p -B -z -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
  774. class main
  775. disabled
  776. oneshot
  777. keycodes 114 115 116
  778. #Set GPU Opengles version
  779. on property:vendor.opengles.version=*
  780. setprop ro.opengles.version ${vendor.opengles.version}
  781. #Set gpu available frequencies property
  782. on property:vendor.gpu.available_frequencies=*
  783. setprop ro.vendor.gpu.available_frequencies ${vendor.gpu.available_frequencies}