Advertisement
Guest User

Untitled

a guest
Feb 19th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 18.44 KB | None | 0 0
  1. # Copyright (c) 2009-2013, The Linux Foundation. All rights reserved.
  2. #
  3. # Redistribution and use in source and binary forms, with or without
  4. # modification, are permitted provided that the following conditions are met:
  5. # * Redistributions of source code must retain the above copyright
  6. # notice, this list of conditions and the following disclaimer.
  7. # * Redistributions in binary form must reproduce the above copyright
  8. # notice, this list of conditions and the following disclaimer in the
  9. # documentation and/or other materials provided with the distribution.
  10. # * Neither the name of The Linux Foundation nor
  11. # the names of its contributors may be used to endorse or promote
  12. # products derived from this software without specific prior written
  13. # permission.
  14. #
  15. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  16. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  17. # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  18. # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  19. # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  20. # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  21. # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  22. # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  23. # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  24. # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  25. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  26. #
  27.  
  28. import init.qcom.power.rc
  29. import init.qcom.usb.rc
  30.  
  31. on early-init
  32. symlink /data/tombstones /tombstones
  33.  
  34. mkdir /firmware 0771 system system
  35. mkdir /firmware-mdm 0771 system system
  36.  
  37. mount debugfs debugfs /sys/kernel/debug
  38. chmod 0755 /sys/kernel/debug
  39.  
  40. on init
  41.  
  42. # Set permissions for efs partition
  43. mkdir /efs 0771 system radio
  44.  
  45. symlink /sdcard /storage/sdcard0
  46.  
  47. on fs
  48. wait /dev/block/platform/${ro.boot.bootdevice}
  49. symlink /dev/block/platform/${ro.boot.bootdevice} /dev/block/bootdevice
  50.  
  51. mount_all fstab.qcom
  52.  
  53. chown system radio /dev/block/platform/msm_sdcc.1/by-name
  54. chmod 0775 /dev/block/platform/msm_sdcc.1/by-name
  55.  
  56. on post-fs
  57. # Allow writing to the kernel trace log.
  58. chmod 0222 /sys/kernel/debug/tracing/trace_marker
  59.  
  60. on post-fs-data
  61. # Create the directories used by the Wireless subsystem
  62. mkdir /data/vendor/wifi 0771 wifi wifi
  63. mkdir /data/vendor/wifi/wpa 0771 wifi wifi
  64. mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
  65.  
  66. # Create directories for tombstone
  67. mkdir /data/tombstones 0771 system system
  68. mkdir /tombstones/modem 0771 system system
  69. mkdir /tombstones/lpass 0771 system system
  70. mkdir /tombstones/wcnss 0771 system system
  71. mkdir /tombstones/dsps 0771 system system
  72. mkdir /tombstones/mdm 0771 system system
  73. mkdir /tombstones/mdm2 0771 system system
  74.  
  75. # Communicate with mpdecision and thermald
  76. mkdir /dev/socket/mpdecision 2770 root system
  77.  
  78. # Create directories for audio
  79. mkdir /data/misc/audio 0770 audio audio
  80.  
  81. # Create directory for CNE
  82. mkdir /data/connectivity 0771 system system
  83.  
  84. # Create directory for H2K
  85. mkdir /data/misc/radio/hatp 0775 radio system
  86. chmod 0644 /efs/h2k.dat
  87. chown radio radio /efs/h2k.dat
  88.  
  89. # Create directory for HDCP 2.x
  90. mkdir /data/system/hdcp2 0775 system system
  91.  
  92. # Create directory for location services
  93. mkdir /data/misc/location 0770 gps gps
  94. mkdir /data/misc/location/mq 0770 gps gps
  95. mkdir /data/misc/location/xtwifi 0770 gps gps
  96. mkdir /data/misc/location/gpsone_d 0770 system gps
  97. mkdir /data/misc/location/quipc 0770 system gps
  98. mkdir /data/misc/location/gsiff 0770 gps gps
  99.  
  100. # Broadcom NFC
  101. chmod 0600 /dev/bcm2079x
  102. chown nfc nfc /dev/bcm2079x
  103. mkdir /data/nfc
  104. mkdir /data/nfc/param
  105. chmod 0700 /data/nfc
  106. chmod 0700 /data/nfc/param
  107. chown nfc nfc /data/nfc
  108. chown nfc nfc /data/nfc/param
  109.  
  110. # Create directories for WiFi
  111. mkdir /data/misc/wifi 0770 wifi wifi
  112. mkdir /data/misc/wifi/sockets 0770 wifi wifi
  113. mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
  114. mkdir /data/misc/dhcp 0770 dhcp dhcp
  115. chown dhcp dhcp /data/misc/dhcp
  116.  
  117. mkdir /data/qcks 0771 system system
  118.  
  119. # Bluetooth
  120. chown bluetooth bluetooth /persist/.bt_nv.bin
  121.  
  122. # WiFi TRP/TIS
  123. write /data/.psm.info 1
  124. chown root system /data/.psm.info
  125. chmod 0660 /data/.psm.info
  126.  
  127. # WiFi Antena Selection
  128. chown root system /data/.ant.info
  129. chmod 0664 /data/.ant.info
  130.  
  131. # WiFi Version
  132. write /data/.wifiver.info 0
  133. chown root system /data/.wifiver.info
  134. chmod 0664 /data/.wifiver.info
  135. restorecon /data/.wifiver.info
  136.  
  137. # WiFi MAC address
  138. mkdir /efs/wifi 0775 radio system
  139. chown system system /efs/wifi/.mac.info
  140. chmod 0664 /efs/wifi/.mac.info
  141.  
  142. # Create QCN WPA_supplicant symlink for ar6000 wpa_supplicant
  143. mkdir /data/system 0775 system system
  144. rm /data/system/wpa_supplicant
  145.  
  146. # Create directories for perfd
  147. mkdir /data/misc/perfd 2755 root system
  148. mkdir /data/system/perfd 2770 root system
  149.  
  150. setprop vold.post_fs_data_done 1
  151.  
  152. on early-boot
  153. # set RLIMIT_MEMLOCK to 64MB
  154. setrlimit 8 67108864 67108864
  155.  
  156. setprop qcom.audio.init complete
  157.  
  158. on boot
  159. # Configure bluetooth
  160. chmod 0660 /proc/bluetooth/sleep/lpm
  161. chmod 0660 /proc/bluetooth/sleep/btwrite
  162. chmod 0660 /sys/class/rfkill/rfkill0/state
  163. chmod 0660 /dev/ttyHS0
  164. chown bluetooth bluetooth /proc/bluetooth/sleep/lpm
  165. chown bluetooth bluetooth /proc/bluetooth/sleep/btwrite
  166. chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
  167. chown bluetooth bluetooth /dev/ttyHS0
  168.  
  169. # Create QMUX daemon socket area
  170. mkdir /dev/socket/qmux_audio 2770 media audio
  171. mkdir /dev/socket/qmux_bluetooth 2770 bluetooth bluetooth
  172. mkdir /dev/socket/qmux_gps 2770 gps gps
  173. mkdir /dev/socket/qmux_radio 2770 radio radio
  174.  
  175. # Change permissions for fps_level nodes
  176. chown system graphics /sys/class/graphics/fb0/msm_fb_fps_level
  177. chown system graphics /sys/class/graphics/fb1/msm_fb_fps_level
  178. chown system graphics /sys/class/graphics/fb2/msm_fb_fps_level
  179. chmod 0644 /sys/class/graphics/fb0/msm_fb_fps_level
  180. chmod 0400 /sys/class/graphics/fb1/msm_fb_fps_level
  181. chmod 0400 /sys/class/graphics/fb2/msm_fb_fps_level
  182.  
  183. # YUV to RGB Conversion
  184. chown system camera /sys/class/graphics/fb0/csc_cfg
  185. chmod 0660 /sys/class/graphics/fb0/csc_cfg
  186.  
  187. chown system graphics /sys/class/graphics/fb1/hpd
  188. chown system graphics /sys/class/graphics/fb1/vendor_name
  189. chown system graphics /sys/class/graphics/fb1/product_description
  190. chown system graphics /sys/class/graphics/fb1/format_3d
  191. chmod 0664 /sys/class/graphics/fb1/hpd
  192. chmod 0664 /sys/class/graphics/fb1/vendor_name
  193. chmod 0664 /sys/class/graphics/fb1/product_description
  194. chmod 0664 /sys/class/graphics/fb1/format_3d
  195. chmod 0664 /sys/class/graphics/fb1/video_mode
  196.  
  197. # Create symlink for fb1 as HDMI
  198. symlink /dev/graphics/fb1 /dev/graphics/hdmi
  199.  
  200. # Inform the USB driver of the correct transport
  201. chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
  202.  
  203. # Assign TCP buffer thresholds to be ceiling value of technology maximums
  204. # Increased technology maximums should be reflected here.
  205. write /proc/sys/net/core/rmem_max 8388608
  206. write /proc/sys/net/core/wmem_max 8388608
  207.  
  208. # To prevent out of order acknowledgements from making
  209. # connection tracking to treat them as not belonging to
  210. # the connection they belong to.
  211. # Otherwise, a weird issue happens in which some long
  212. # connections on high-throughput links get dropped when
  213. # an ack packet comes out of order
  214. write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
  215.  
  216. # Initialize MDM modem
  217. write /sys/module/rmnet_usb/parameters/rmnet_data_init 1
  218. chown radio radio /sys/devices/virtual/hsicctl/hsicctl0/modem_wait
  219.  
  220. chown system radio /sys/class/sec/switch/usb_sel
  221. chown system radio /sys/class/sec/switch/usb_state
  222. chown system radio /sys/class/sec/switch/uart_sel
  223. chown system radio /sys/class/sec/switch/apo_factory
  224.  
  225. # GPIO DVS
  226. chown system radio /sys/class/secgpio_check/secgpio_check_all/secgpio_ctrl
  227.  
  228. # Chown polling nodes as needed from UI running on system server
  229. chown system system /sys/devices/platform/msm_sdcc.1/polling
  230. chown system system /sys/devices/platform/msm_sdcc.2/polling
  231. chown system system /sys/devices/platform/msm_sdcc.3/polling
  232. chown system system /sys/devices/platform/msm_sdcc.4/polling
  233. chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
  234. chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
  235. chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
  236. chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
  237.  
  238. # Torch
  239. chown system camera /sys/class/leds/torch-sec1/brightness
  240. chmod 0664 /sys/class/leds/torch-sec1/brightness
  241.  
  242. # Backlight
  243. chown system system /sys/class/leds/button-backlight/brightness
  244. chown system system /sys/class/leds/lcd-backlight/brightness
  245.  
  246. chown root system /sys/class/leds/button-backlight/max_brightness
  247. chmod 0664 /sys/class/leds/button-backlight/max_brightness
  248.  
  249. # mDNIe
  250. chown system system /sys/class/mdnie/mdnie/negative
  251. chown system system /sys/class/mdnie/mdnie/accessibility
  252. chown system system /sys/class/mdnie/mdnie/mode
  253. chown system system /sys/class/mdnie/mdnie/outdoor
  254. chown system system /sys/class/mdnie/mdnie/playspeed
  255. chown system system /sys/class/mdnie/mdnie/scenario
  256.  
  257. chown system system /sys/class/lcd/panel/window_type
  258. chown system radio /sys/class/lcd/panel/power_reduce
  259. chown system radio /sys/class/lcd/panel/siop_enable
  260. chown system radio /sys/class/lcd/panel/temperature
  261.  
  262. # Dynamic FPS
  263. chown system radio /sys/class/lcd/panel/fps_change
  264. chmod 0664 /sys/class/lcd/panel/fps_change
  265.  
  266. # Auto-brightness
  267. chown system system /sys/class/backlight/panel/auto_brightness
  268. chmod 0660 /sys/class/backlight/panel/auto_brightness
  269.  
  270. # Touchscreen & touch keys
  271. chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update
  272. chown system radio /sys/class/sec/sec_touchkey/touch_sensitivity
  273. chown system radio /sys/class/sec/sec_touchkey/flip_mode
  274. chown system radio /sys/class/sec/sec_touchkey/glove_mode
  275. chown system system /sys/class/sec/sec_touchkey/keypad_enable
  276. chmod 0660 /sys/class/sec/sec_touchkey/keypad_enable
  277.  
  278. # TCP
  279. chown system system /sys/kernel/ipv4/tcp_wmem_min
  280. chown system system /sys/kernel/ipv4/tcp_wmem_def
  281. chown system system /sys/kernel/ipv4/tcp_wmem_max
  282. chown system system /sys/kernel/ipv4/tcp_rmem_min
  283. chown system system /sys/kernel/ipv4/tcp_rmem_def
  284. chown system system /sys/kernel/ipv4/tcp_rmem_max
  285.  
  286. # Allow remote updates to SELinux policy
  287. chown system system /sys/fs/selinux/enforce
  288. chown system system /sys/fs/selinux/load
  289.  
  290. # LEDs
  291. chown system system /sys/class/sec/led/led_r
  292. chown system system /sys/class/sec/led/led_g
  293. chown system system /sys/class/sec/led/led_b
  294. chown system system /sys/class/sec/led/led_pattern
  295. chown system system /sys/class/sec/led/led_blink
  296. chown system system /sys/class/sec/led/led_lowpower
  297.  
  298. # Accelerometer
  299. chown system radio /sys/class/sensors/accelerometer_sensor/raw_data
  300. chown system radio /sys/class/sensors/accelerometer_sensor/calibration
  301. chown system radio /sys/class/sensors/accelerometer_sensor/reactive_alert
  302. chown system radio /sys/class/sensors/accelerometer_sensor/vendor
  303. chown system radio /sys/class/sensors/accelerometer_sensor/name
  304.  
  305. # Barometer
  306. chown system radio /sys/class/sensors/barometer_sensor/sea_level_pressure
  307. chown system radio /sys/class/sensors/barometer_sensor/vendor
  308. chown system radio /sys/class/sensors/barometer_sensor/name
  309. chown system radio /sys/class/sensors/barometer_sensor/calibration
  310. chown system radio /sys/class/sensors/barometer_sensor/eeprom_check
  311.  
  312. # Gesture sensor
  313. chown system radio /sys/class/sensors/gesture_sensor/ir_current
  314. chown system radio /sys/class/sensors/gesture_sensor/selftest
  315.  
  316. # Gyroscope
  317. chown system radio /sys/class/sensors/gyro_sensor/power_on
  318. chown system radio /sys/class/sensors/gyro_sensor/power_off
  319. chown system radio /sys/class/sensors/gyro_sensor/temperature
  320. chown system radio /sys/class/sensors/gyro_sensor/selftest
  321. chown system radio /sys/class/sensors/gyro_sensor/selftest_dps
  322. chown system radio /sys/class/sensors/gyro_sensor/vendor
  323. chown system radio /sys/class/sensors/gyro_sensor/name
  324.  
  325. # Light sensor
  326. chown system radio /sys/class/sensors/light_sensor/lux
  327. chown system radio /sys/class/sensors/light_sensor/raw_data
  328. chown system radio /sys/class/sensors/light_sensor/vendor
  329. chown system radio /sys/class/sensors/light_sensor/name
  330. chown system radio /sys/class/sensors/light_sensor/enable
  331.  
  332. # Magnetometer
  333. chown system radio /sys/class/sensors/magnetic_sensor/raw_data
  334. chown system radio /sys/class/sensors/magnetic_sensor/vendor
  335. chown system radio /sys/class/sensors/magnetic_sensor/name
  336.  
  337. # Proximity sensor
  338. chown system radio /sys/class/sensors/proximity_sensor/state
  339. chown system radio /sys/class/sensors/proximity_sensor/raw_data
  340. chown system radio /sys/class/sensors/proximity_sensor/prox_avg
  341. chown system radio /sys/class/sensors/proximity_sensor/prox_cal
  342. chown system radio /sys/class/sensors/proximity_sensor/vendor
  343. chown system radio /sys/class/sensors/proximity_sensor/name
  344. chown system radio /sys/class/sensors/proximity_sensor/thresh_high
  345. chown system radio /sys/class/sensors/proximity_sensor/thresh_low
  346. chown system radio /sys/class/sensors/proximity_sensor/barcode_emul_en
  347. chown system radio /sys/class/sensors/proximity_sensor/enable
  348.  
  349. # Temperature and humidity sensor
  350. chown system radio /sys/class/sensors/temphumidity_sensor/vendor
  351. chown system radio /sys/class/sensors/temphumidity_sensor/name
  352. chown system radio /sys/class/sensors/temphumidity_sensor/engine_ver
  353. chown system radio /sys/class/sensors/temphumidity_sensor/engine_ver2
  354. chown system radio /sys/class/sensors/temphumidity_sensor/cp_thm
  355. chown system radio /sys/class/sensors/temphumidity_sensor/send_accuracy
  356.  
  357. # Sensor hub
  358. chown system radio /sys/class/sensors/ssp_sensor/enable
  359. chown system radio /sys/class/sensors/ssp_sensor/enable_irq
  360. chown system radio /sys/class/sensors/ssp_sensor/mcu_name
  361. chown system radio /sys/class/sensors/ssp_sensor/mcu_reset
  362. chown system radio /sys/class/sensors/ssp_sensor/mcu_rev
  363. chown system radio /sys/class/sensors/ssp_sensor/mcu_sleep_test
  364. chown system radio /sys/class/sensors/ssp_sensor/mcu_test
  365. chown system radio /sys/class/sensors/ssp_sensor/mcu_update
  366.  
  367. # Vibrator
  368. chown system system /sys/class/timed_output/vibrator/enable
  369. chown system system /sys/class/timed_output/vibrator/pwm_default
  370. chown system system /sys/class/timed_output/vibrator/pwm_max
  371. chown system system /sys/class/timed_output/vibrator/pwm_min
  372. chown system system /sys/class/timed_output/vibrator/pwm_threshold
  373. chown system system /sys/class/timed_output/vibrator/pwm_value
  374. chmod 0660 /sys/class/timed_output/vibrator/pwm_default
  375. chmod 0660 /sys/class/timed_output/vibrator/pwm_max
  376. chmod 0660 /sys/class/timed_output/vibrator/pwm_min
  377. chmod 0660 /sys/class/timed_output/vibrator/pwm_threshold
  378. chmod 0660 /sys/class/timed_output/vibrator/pwm_value
  379.  
  380. # Barcode emulation
  381. chown system radio /sys/class/sec/sec_barcode_emul/barcode_led_status
  382. chown system radio /sys/class/sec/sec_barcode_emul/barcode_send
  383. chown system radio /sys/class/sec/sec_barcode_emul/barcode_ver_check
  384.  
  385. # IR LED
  386. chown system radio /sys/class/sec/sec_ir/ir_send
  387. chown system radio /sys/class/sec/sec_ir/ir_send_result
  388.  
  389. # RIL fast dormancy
  390. chown system radio /sys/class/sec/bamdmux/waketime
  391.  
  392. service qcamerasvr /vendor/bin/mm-qcamera-daemon
  393. class late_start
  394. user camera
  395. group camera system inet input graphics
  396.  
  397. on property:init.svc.media=restarting
  398. restart qcamerasvr
  399.  
  400. on property:init.svc.servicemanager=restarting
  401. restart qcamerasvr
  402.  
  403. service mpdecision /vendor/bin/mpdecision --no_sleep --avg_comp
  404. class main
  405. user root
  406. group root system readproc wakelock
  407.  
  408. service kickstart /vendor/bin/qcks -i /firmware-mdm/image/
  409. user root
  410. group radio cache inet misc audio sdcard_rw log system
  411. oneshot
  412. disabled
  413.  
  414. on property:ro.baseband=mdm
  415. start kickstart
  416.  
  417. service qseecomd /vendor/bin/qseecomd
  418. class late_start
  419. user system
  420. group system
  421.  
  422. service insthk /vendor/bin/insthk
  423. class main
  424. user root
  425. disabled
  426. oneshot
  427. #seclabel u:r:insthk:s0
  428.  
  429. on property:sys.qseecomd.enable=true
  430. start insthk
  431.  
  432. service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
  433. class main
  434. user root
  435. oneshot
  436.  
  437. # QMUX must be in multiple groups to support external process connections
  438. service qmuxd /vendor/bin/qmuxd
  439. class core
  440. user radio
  441. group radio audio bluetooth gps diag wakelock log
  442.  
  443. service netmgrd /vendor/bin/netmgrd
  444. class main
  445. group root wifi wakelock radio inet oem_2950
  446.  
  447. # Adjust socket buffer to enlarge TCP receive window for high bandwidth
  448. # but only if ro.data.large_tcp_window_size property is set.
  449. on property:ro.data.large_tcp_window_size=true
  450. write /proc/sys/net/ipv4/tcp_adv_win_scale 2
  451.  
  452. service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
  453. -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 \
  454. -g@android:wpa_wlan0
  455. # we will start as root and wpa_supplicant will switch to user wifi
  456. # after setting up the capabilities required for WEXT
  457. # user wifi
  458. # group wifi inet keystore
  459. interface android.hardware.wifi.supplicant@1.0::ISupplicant default
  460. interface android.hardware.wifi.supplicant@1.1::ISupplicant default
  461. class main
  462. socket wpa_wlan0 dgram 660 wifi wifi
  463. disabled
  464. oneshot
  465.  
  466. service macloader /vendor/bin/macloader
  467. class main
  468. oneshot
  469. #seclabel u:r:macloader:s0
  470.  
  471. on property:init.svc.macloader=stopped
  472. chown root system /data/.rev
  473. chmod 0664 /data/.rev
  474.  
  475. service charger /charger
  476. class charger
  477. critical
  478. group system
  479. #seclabel u:r:charger:s0
  480.  
  481. service thermald /vendor/bin/thermald
  482. class main
  483. user root
  484. group radio system
  485.  
  486. on property:wlan.driver.status=ok
  487. # Wifi firmware reload path
  488. chown wifi wifi /sys/module/dhd/parameters/firmware_path
  489.  
  490. # Disable boot timeout for external modems.
  491. on property:persist.sys.mdm.timeout_disable=1
  492. write /sys/module/mdm_common/parameters/disable_boot_timeout 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement