init.qcom.rc 33 KB

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