init.qcom.rc 28 KB

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