init.qcom.factory.rc 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255
  1. #
  2. # Copyright (c) 2009-2016, The Linux Foundation. All rights reserved.
  3. #
  4. # Redistribution and use in source and binary forms, with or without
  5. # modification, are permitted provided that the following conditions are met:
  6. # * Redistributions of source code must retain the above copyright
  7. # notice, this list of conditions and the following disclaimer.
  8. # * Redistributions in binary form must reproduce the above copyright
  9. # notice, this list of conditions and the following disclaimer in the
  10. # documentation and/or other materials provided with the distribution.
  11. # * Neither the name of The Linux Foundation nor
  12. # the names of its contributors may be used to endorse or promote
  13. # products derived from this software without specific prior written
  14. # permission.
  15. #
  16. # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
  17. # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  18. # IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
  19. # NON-INFRINGEMENT ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
  20. # CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
  21. # EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
  22. # PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
  23. # OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
  24. # WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
  25. # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
  26. # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  27. #
  28. # Define fastmmi
  29. service fastmmi /system/bin/mmi
  30. user root
  31. group root
  32. disabled
  33. service vendor.mmid /vendor/bin/mmid
  34. user root
  35. group root
  36. disabled
  37. service mmi_diag /system/bin/mmi_diag
  38. class main
  39. user root
  40. group root oem_2901
  41. disabled
  42. on property:vendor.sys.boot_mode=ffbm
  43. write ${persist.vendor.mmi.misc_dev_path} "ffbm-01"
  44. on property:vendor.sys.boot_mode=qmmi
  45. write ${persist.vendor.mmi.misc_dev_path} "ffbm-02"
  46. on property:vendor.sys.boot_mode=normal
  47. write ${persist.vendor.mmi.misc_dev_path} "normal"
  48. # Creating a scratch storage on /data for factory testing.
  49. on factory-fs && property:ro.bootmode=ffbm-00
  50. mount tmpfs tmpfs /data
  51. on factory-fs && property:ro.bootmode=ffbm-01
  52. mount tmpfs tmpfs /data
  53. # aligned the usb port with system standard, otherwise if only diag be added
  54. # Then in QMMI mode, the whole Andoid be booted, but due to the ro.bootmode is
  55. # not normal/unknow, then when it apply the default funcs, it will turn to MTP
  56. # which cause the diag/Wwan/modem port all be lost in qmmi mode. Details:
  57. # UsbDeviceManager.java---->getDefaultFunctions and trySetEnabledFunctions
  58. on property:persist.vendor.usb.config=*
  59. setprop persist.sys.usb.ffbm-02.func ${persist.vendor.usb.config}
  60. on mmi && property:ro.bootmode=ffbm-00
  61. # ========================================================
  62. # This is FFBM only settings.
  63. # ========================================================
  64. #mkdir for factory data files.
  65. mkdir /mnt/vendor/persist/FTM_AP 0750 system system
  66. start fastmmi
  67. # start qcom-post-boot to set the misc partition path property value
  68. start qcom-post-boot
  69. start mmi_diag
  70. on mmi && property:ro.bootmode=ffbm-01
  71. # ========================================================
  72. # This is FFBM only settings.
  73. # ========================================================
  74. #mkdir for factory data files.
  75. mkdir /mnt/vendor/persist/FTM_AP 0750 system system
  76. start fastmmi
  77. ## start qcom-post-boot to set the misc partition path property value
  78. start qcom-post-boot
  79. start mmi_diag
  80. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-00
  81. setprop sys.usb.config ${persist.vendor.usb.config}
  82. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-01
  83. setprop sys.usb.config ${persist.vendor.usb.config}
  84. on property:persist.vendor.usb.config=* && property:ro.bootmode=ffbm-02
  85. setprop sys.usb.config ${persist.vendor.usb.config}
  86. on ffbm
  87. trigger early-fs
  88. trigger factory-fs
  89. trigger fs
  90. trigger post-fs
  91. # Mount fstab in init.{$device}.rc by mount_all with '--late' parameter
  92. # to only mount entries with 'latemount'. This is needed if '--early' is
  93. # specified in the previous mount_all command on the fs stage.
  94. # With /system mounted and properties form /system + /factory available,
  95. # some services can be started.
  96. trigger late-fs
  97. # Now we can mount /data. File encryption requires keymaster to decrypt
  98. # /data, which in turn can only be loaded when system properties are present.
  99. trigger post-fs-data
  100. # Now we can start zygote for devices with file based encryption
  101. trigger zygote-start
  102. # Load persist properties and override properties (if enabled) from /data.
  103. trigger load_persist_props_action
  104. # Remove a file to wake up anything waiting for firmware.
  105. trigger firmware_mounts_complete
  106. trigger early-boot
  107. trigger boot
  108. trigger mmi
  109. # ========================================================
  110. # Start for audio TC
  111. # ========================================================
  112. service vendor.audio_tc53 /vendor/bin/mm-audio-ftm -tc 53
  113. user audio
  114. group audio
  115. disabled
  116. oneshot
  117. service vendor.audio_tc51 /vendor/bin/mm-audio-ftm -tc 51
  118. user audio
  119. group audio
  120. disabled
  121. oneshot
  122. service vendor.audio_tc56 /vendor/bin/mm-audio-ftm -tc 56
  123. user audio
  124. group audio
  125. disabled
  126. oneshot
  127. service vendor.audio_tc222 /vendor/bin/mm-audio-ftm -tc 222
  128. user audio
  129. group audio
  130. disabled
  131. oneshot
  132. service vendor.audio_tc228 /vendor/bin/mm-audio-ftm -tc 228
  133. user audio
  134. group audio
  135. disabled
  136. oneshot
  137. service vendor.audio_tc229 /vendor/bin/mm-audio-ftm -tc 229
  138. user audio
  139. group audio
  140. disabled
  141. oneshot
  142. service vendor.audio_tc230 /vendor/bin/mm-audio-ftm -tc 230
  143. user audio
  144. group audio
  145. disabled
  146. oneshot
  147. service vendor.audio_tc225 /vendor/bin/mm-audio-ftm -tc 225
  148. user audio
  149. group audio
  150. disabled
  151. oneshot
  152. service vendor.audio_tc246 /vendor/bin/mm-audio-ftm -tc 246
  153. user audio
  154. group audio
  155. disabled
  156. oneshot
  157. service vendor.audio_tc247 /vendor/bin/mm-audio-ftm -tc 247
  158. user audio
  159. group audio
  160. disabled
  161. oneshot
  162. service vendor.audio_tc250 /vendor/bin/mm-audio-ftm -tc 250
  163. user audio
  164. group audio
  165. disabled
  166. oneshot
  167. service vendor.audio_tc251 /vendor/bin/mm-audio-ftm -tc 251
  168. user audio
  169. group audio
  170. disabled
  171. oneshot
  172. service vendor.audio_tc252 /vendor/bin/mm-audio-ftm -tc 252
  173. user audio
  174. group audio
  175. disabled
  176. oneshot
  177. service vendor.audio_tc253 /vendor/bin/mm-audio-ftm -tc 253
  178. user audio
  179. group audio
  180. disabled
  181. oneshot
  182. service vendor.audio_tc11 /vendor/bin/mm-audio-ftm -tc 11
  183. user audio
  184. group audio
  185. disabled
  186. oneshot
  187. service vendor.audio_tc101 /vendor/bin/mm-audio-ftm -tc 101
  188. user audio
  189. group audio
  190. disabled
  191. oneshot
  192. service vendor.audio_tc102 /vendor/bin/mm-audio-ftm -tc 102
  193. user audio
  194. group audio
  195. disabled
  196. oneshot
  197. service vendor.audio_tc103 /vendor/bin/mm-audio-ftm -tc 103
  198. user audio
  199. group audio
  200. disabled
  201. oneshot
  202. service vendor.audio_tc104 /vendor/bin/mm-audio-ftm -tc 104
  203. user audio
  204. group audio
  205. disabled
  206. oneshot
  207. # ========================================================
  208. # End for audio TC
  209. # ========================================================