blob: 2263fdcb479429916ee805857ef6f3086568f6d0 [file] [log] [blame]
Chris Friesdc2b50d2017-06-27 12:02:00 -05001#
2# Copyright (C) 2016 The Android Open-Source Project
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15#
16
Robb Glasser30ecafe2017-11-17 15:19:30 -080017import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.power.rc
Oleg Matcovschib32aa0f2017-10-23 15:15:16 -050018import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.usb.rc
Badhri Jagan Sridharan814c4f12017-11-22 14:16:33 -080019import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.diag.rc
Shawn Yang5f198892017-11-30 14:10:15 -080020import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.logging.rc
Shawn Yang35683542018-02-01 10:38:26 -080021import /vendor/etc/init/hw/init.${ro.boot.hardware.platform}.mpssrfs.rc
Shawn Yang5f198892017-11-30 14:10:15 -080022
Chris Friesdc2b50d2017-06-27 12:02:00 -050023
Thierry Strudel9e51f272018-05-30 22:22:44 -070024on property:init.svc.vendor.charger=running
Thierry Strudel9e51f272018-05-30 22:22:44 -070025 # keep one LITTLE and one big
Wei Wangee78ac92018-01-24 11:15:47 -080026 write /sys/devices/system/cpu/cpu1/online 0
Chris Friesdc2b50d2017-06-27 12:02:00 -050027 write /sys/devices/system/cpu/cpu2/online 0
28 write /sys/devices/system/cpu/cpu3/online 0
Chris Friesdc2b50d2017-06-27 12:02:00 -050029 write /sys/devices/system/cpu/cpu5/online 0
30 write /sys/devices/system/cpu/cpu6/online 0
31 write /sys/devices/system/cpu/cpu7/online 0
32 wait /dev/block/bootdevice
Wei Wang90f3d652018-03-15 13:35:37 -070033 # Enable UFS powersaving
Wei Wang90f3d652018-03-15 13:35:37 -070034 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
35 write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 1
Kyle Tso643c6b12018-05-18 14:09:37 +080036 write /sys/class/typec/port0/port_type sink
Robb Glasser30ecafe2017-11-17 15:19:30 -080037 write /sys/module/lpm_levels/parameters/sleep_disabled 0
Wei Wangf46b4952018-05-24 14:32:00 -070038 # Disable sched_boost
39 write /proc/sys/kernel/sched_boost 0
davidchao443ba672018-05-25 18:05:16 +080040 # Enable thermal mitigation
41 write /sys/devices/virtual/thermal/tz-by-name/backup-charge/mode enabled
Thierry Strudel901f4872018-06-25 22:42:21 -070042 # Ensure 100% reporting is sticky
43 write /sys/class/power_supply/maxfg/offmode_charger 1
Chris Friesdc2b50d2017-06-27 12:02:00 -050044
Thierry Strudel9e51f272018-05-30 22:22:44 -070045service vendor.charger /charger
Chris Friesdc2b50d2017-06-27 12:02:00 -050046 class charger
47 seclabel u:r:charger:s0
48
49on early-init
50 mount debugfs debugfs /sys/kernel/debug
51 chmod 0755 /sys/kernel/debug
Wei Wangf46b4952018-05-24 14:32:00 -070052 # Enable sched_boost
53 write /proc/sys/kernel/sched_boost 1
Chris Friesdc2b50d2017-06-27 12:02:00 -050054
Wei Wang119118b2018-06-29 12:00:51 -070055# Skip init trigger for charger mode
56on early-init && property:ro.boot.mode=charger
57 setprop vendor.skip.init 1
58
Paul Crowleyca524db2018-02-01 15:53:31 -080059# We need vold early for metadata encryption
60on early-fs
61 start vold
62
Wei Wang119118b2018-06-29 12:00:51 -070063on init && property:vendor.skip.init=0
Tom Cherry04db8fa2018-06-05 10:17:43 -070064 start logd
65
Wei Wang90f3d652018-03-15 13:35:37 -070066 # QSEE rpmb listener need symlink for bootdevice
67 wait /dev/block/platform/soc/${ro.boot.bootdevice}
68 symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
69
70 # start qseecomd early as we mount system/ vendor/ early
71 # vold needs keymaster that needs qseecomd
Daniel Mentzaab747b2018-05-17 19:13:51 -070072 start vendor.qseecomd
Wei Wang1b0b0102018-05-15 15:51:22 -070073 start keymaster-4-0
Wei Wang90f3d652018-03-15 13:35:37 -070074
Shawn Willden9ff2c612018-06-28 18:40:17 +000075 # start Citadel keymaster (StrongBox) early
76 start vndservicemanager
77 start citadeld
78 start vendor.keymaster-4-0-citadel
79
Wei Wang1185da12018-02-26 19:18:34 -080080 # Boot time fs tune
81 write /sys/block/sda/queue/iostats 0
82 write /sys/block/sda/queue/scheduler cfq
83 write /sys/block/sda/queue/iosched/slice_idle 0
84 write /sys/block/sda/queue/read_ahead_kb 2048
85 write /sys/block/sda/queue/nr_requests 256
86 write /sys/block/sdf/queue/iostats 0
87 write /sys/block/sdf/queue/scheduler cfq
88 write /sys/block/sdf/queue/iosched/slice_idle 0
89 write /sys/block/sdf/queue/read_ahead_kb 2048
90 write /sys/block/sdf/queue/nr_requests 256
91 write /sys/block/dm-0/queue/read_ahead_kb 2048
92 write /sys/block/dm-1/queue/read_ahead_kb 2048
Wei Wangcfcc7542018-05-22 09:51:56 -070093 write /sys/block/dm-2/queue/read_ahead_kb 2048
Wei Wang1185da12018-02-26 19:18:34 -080094
Wei Wang90f3d652018-03-15 13:35:37 -070095 # Disable UFS powersaving
Wei Wang90f3d652018-03-15 13:35:37 -070096 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 0
97 write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 0
98
Robb Glasser30ecafe2017-11-17 15:19:30 -080099 # Disable powersaving
100 write /sys/module/lpm_levels/parameters/sleep_disabled 1
101
Chris Friesdc2b50d2017-06-27 12:02:00 -0500102 # Loading kernel modules in background
103 start insmod_sh
104
105 # Support legacy paths
106 symlink /sdcard /mnt/sdcard
107 symlink /sdcard /storage/sdcard0
108
Robb Glasser30ecafe2017-11-17 15:19:30 -0800109 # bring back all cores
110 write /sys/devices/system/cpu/cpu0/online 1
111 write /sys/devices/system/cpu/cpu1/online 1
112 write /sys/devices/system/cpu/cpu2/online 1
113 write /sys/devices/system/cpu/cpu3/online 1
114 write /sys/devices/system/cpu/cpu4/online 1
115 write /sys/devices/system/cpu/cpu5/online 1
116 write /sys/devices/system/cpu/cpu6/online 1
117 write /sys/devices/system/cpu/cpu7/online 1
118
119 # configure governor settings for little cluster
120 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil
Connor O'Brien5aa6fe02018-02-21 10:13:10 -0800121 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500
122 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000
Robb Glasser30ecafe2017-11-17 15:19:30 -0800123
124 # configure governor settings for big cluster
125 write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor schedutil
Connor O'Brien5aa6fe02018-02-21 10:13:10 -0800126 write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us 500
127 write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us 20000
Chris Friesdc2b50d2017-06-27 12:02:00 -0500128
129 # set default schedTune value for foreground/top-app
130 write /dev/stune/foreground/schedtune.prefer_idle 1
131 write /dev/stune/top-app/schedtune.boost 10
132 write /dev/stune/top-app/schedtune.prefer_idle 1
133
134 # Setup cpusets used by the VR services.
135 mkdir /dev/cpuset/kernel 0750 root system
136 write /dev/cpuset/kernel/cpus 0
137 write /dev/cpuset/kernel/mems 0
138 chown system system /dev/cpuset/kernel/tasks
Wei Wang5d1e47c2018-03-09 14:40:33 -0800139 chown system system /dev/cpuset/kernel/cpus
Chris Friesdc2b50d2017-06-27 12:02:00 -0500140 chmod 0660 /dev/cpuset/kernel/tasks
Wei Wangf46b4952018-05-24 14:32:00 -0700141 chmod 0660 /dev/cpuset/kernel/cpus
Chris Friesdc2b50d2017-06-27 12:02:00 -0500142
Alexey Polyudov2efbcb92017-10-10 14:50:10 -0700143 mkdir /dev/cpuset/camera-daemon
144 write /dev/cpuset/camera-daemon/cpus 0-7
145 write /dev/cpuset/camera-daemon/mems 0
146 chown system system /dev/cpuset/camera-daemon
147 chown system system /dev/cpuset/camera-daemon/tasks
148 chmod 0664 /dev/cpuset/camera-daemon/tasks
149
Chris Friesdc2b50d2017-06-27 12:02:00 -0500150 mkdir /dev/cpuset/system 0750 root system
151 write /dev/cpuset/system/cpus 0
152 write /dev/cpuset/system/mems 0
153 chown system system /dev/cpuset/system/tasks
154 chmod 0660 /dev/cpuset/system/tasks
155
156 mkdir /dev/cpuset/system/performance 0750 root system
157 write /dev/cpuset/system/performance/cpus 0
158 write /dev/cpuset/system/performance/mems 0
159 chown system system /dev/cpuset/system/performance/tasks
160 chmod 0660 /dev/cpuset/system/performance/tasks
161
162 mkdir /dev/cpuset/system/background 0750 root system
163 write /dev/cpuset/system/background/cpus 0
164 write /dev/cpuset/system/background/mems 0
165 chown system system /dev/cpuset/system/background/tasks
166 chmod 0660 /dev/cpuset/system/background/tasks
167
168 mkdir /dev/cpuset/application 0750 root system
169 write /dev/cpuset/application/cpus 0
170 write /dev/cpuset/application/mems 0
171 chown system system /dev/cpuset/application/tasks
172 chmod 0660 /dev/cpuset/application/tasks
173
174 mkdir /dev/cpuset/application/performance 0750 root system
175 write /dev/cpuset/application/performance/cpus 0
176 write /dev/cpuset/application/performance/mems 0
177 chown system system /dev/cpuset/application/performance/tasks
178 chmod 0660 /dev/cpuset/application/performance/tasks
179
180 mkdir /dev/cpuset/application/background 0750 root system
181 write /dev/cpuset/application/background/cpus 0
182 write /dev/cpuset/application/background/mems 0
183 chown system system /dev/cpuset/application/background/tasks
184 chmod 0660 /dev/cpuset/application/background/tasks
185
186 # Create UDS structure for base VR services.
187 mkdir /dev/socket/pdx 0775 system system
188 mkdir /dev/socket/pdx/system 0775 system system
189 mkdir /dev/socket/pdx/system/buffer_hub 0775 system system
190 mkdir /dev/socket/pdx/system/performance 0775 system system
191 mkdir /dev/socket/pdx/system/vr 0775 system system
192 mkdir /dev/socket/pdx/system/vr/display 0775 system system
193 mkdir /dev/socket/pdx/system/vr/pose 0775 system system
194 mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
195
Chris Friesdc2b50d2017-06-27 12:02:00 -0500196 # b/37682684 Enable suspend clock reporting
197 write /sys/kernel/debug/clk/debug_suspend 1
198
199 # ZRAM setup
200 write /sys/block/zram0/comp_algorithm lz4
201 write /proc/sys/vm/page-cluster 0
202
203 # Some user code relies on ro.boot.hardware.revision
204 setprop ro.boot.hardware.revision ${ro.revision}
205
Andrew Sappersteinb50c88c2018-04-27 12:19:30 -0700206 # Allow PAI targeting per hardware SKU
207 setprop ro.oem.key1 ${ro.boot.hardware.sku}
208
Ruchi Kandoic78d86c2018-06-04 13:40:46 -0700209 # Property used by vintf for sku specific manifests
210 setprop ro.boot.product.hardware.sku ${ro.boot.hardware.sku}
211
Wei Wang15201c62018-06-06 14:11:24 -0700212 # Property used by pointing to thermal-engine config file
213 setprop vendor.thermal.vr_mode -novr
214 setprop vendor.thermal.hw_mode -prod
215
TeYuan Wange27e39d2018-05-15 03:09:11 +0800216on late-init
Miguel de Diosc93aea82018-06-25 12:36:58 -0700217 write /sys/devices/virtual/thermal/tz-by-name/fps-therm-adc/mode enabled
TeYuan Wange27e39d2018-05-15 03:09:11 +0800218
Chris Friesdc2b50d2017-06-27 12:02:00 -0500219on fs
Wei Wangaad43c92018-04-04 14:26:23 -0700220 # Start HW service manager early
221 start hwservicemanager
Oleg Matcovschib32aa0f2017-10-23 15:15:16 -0500222 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --early
Chris Friesdc2b50d2017-06-27 12:02:00 -0500223
224 mkdir /persist/data 0700 system system
225 mkdir /persist/display 0770 system graphics
226 mkdir /persist/rfs 0770 root system
227 mkdir /persist/hlos_rfs 0770 root system
228 chmod 0770 /persist/rfs
Joel Galensonb716ec32018-02-26 14:40:47 -0800229 chmod 0770 /persist/rfs/shared
230 chmod 0770 /persist/rfs/msm
231 chmod 0770 /persist/rfs/msm/adsp
232 chmod 0770 /persist/rfs/msm/mpss
233 chmod 0770 /persist/rfs/msm/slpi
234 chmod 0770 /persist/rfs/mdm
235 chmod 0770 /persist/rfs/mdm/adsp
236 chmod 0770 /persist/rfs/mdm/mpss
237 chmod 0770 /persist/rfs/mdm/slpi
238 chmod 0770 /persist/rfs/mdm/tn
239 chmod 0770 /persist/rfs/apq
240 chmod 0770 /persist/rfs/apq/gnss
Chris Friesdc2b50d2017-06-27 12:02:00 -0500241 chmod 0770 /persist/hlos_rfs
242 restorecon_recursive /persist
243
Chris Friesdc2b50d2017-06-27 12:02:00 -0500244on late-fs
Erik Staatsaecb61a2018-04-19 12:09:24 -0700245 # Start devices by sysfs trigger, including SLPI. SLPI waits for sscrpcd to
246 # read /persist, so to prevent SLPI startup delays, start both here.
Chris Friesdc2b50d2017-06-27 12:02:00 -0500247 start devstart_sh
Erik Staatsaecb61a2018-04-19 12:09:24 -0700248 start vendor.sscrpcd
249
Chris Friesdc2b50d2017-06-27 12:02:00 -0500250 # Start services for bootanim
251 start surfaceflinger
252 start bootanim
Chia-I Wu68f14b92018-04-30 13:17:02 -0700253 start vendor.hwcomposer-2-2
Hung-ying Tyan19d02fd2018-05-24 00:10:36 +0800254 start vendor.configstore-hal
Wei Wang0f8b6302018-06-20 11:07:09 -0700255 start vendor.qti.hardware.display.allocator
Chris Friesdc2b50d2017-06-27 12:02:00 -0500256
Wei Wangaad43c92018-04-04 14:26:23 -0700257 # Wait for hwservicemanager ready since fsck might be triggered in mount_all --late
258 # In such case, init won't responce the property_set from hwservicemanager and then
259 # cause services for bootanim not running.
260 wait_for_prop hwservicemanager.ready true
Wei Wang19a550e2018-05-15 16:14:30 -0700261
Shawn Willden9ff2c612018-06-28 18:40:17 +0000262 # Wait for keymaster HALs (TEE and StrongBox)
263 exec_start wait_for_strongbox
Wei Wang19a550e2018-05-15 16:14:30 -0700264
Chris Friesdc2b50d2017-06-27 12:02:00 -0500265 # Mount RW partitions which need run fsck
Oleg Matcovschib32aa0f2017-10-23 15:15:16 -0500266 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --late
Wei Wangcfcc7542018-05-22 09:51:56 -0700267 # Boot time fs tune
268 write /sys/block/dm-3/queue/read_ahead_kb 2048
Chris Friesdc2b50d2017-06-27 12:02:00 -0500269
Wei Wang0b75d942017-06-30 09:49:45 -0700270 # Required for time_daemon
271 mkdir /persist/time 0770 system system
272
Chris Friesdc2b50d2017-06-27 12:02:00 -0500273 # Start time daemon early so that the system time can be set early
274 start time_daemon
275
276on post-fs
Wei Wangb6fdf0b2018-04-24 22:56:02 -0700277 # Disable sched autogroup
278 write /proc/sys/kernel/sched_autogroup_enabled 0
279
Chris Friesdc2b50d2017-06-27 12:02:00 -0500280 # set RLIMIT_MEMLOCK to 64MB
281 setrlimit 8 67108864 67108864
282
283 chmod 0664 /sys/devices/virtual/graphics/fb0/idle_time
284 chown system graphics /sys/devices/virtual/graphics/fb0/idle_time
285 write /sys/devices/virtual/graphics/fb0/idle_time 100
286
Adrian Salidoa28dc2a2018-05-02 13:26:37 -0700287 # turn off vblank irq immediately after turning off
288 write /sys/module/drm/parameters/vblankoffdelay -1
289
Chris Friesdc2b50d2017-06-27 12:02:00 -0500290on post-fs-data
291 # We can start netd here before in is launched in common init.rc on zygote-start
292 start netd
293
Chris Friesdc2b50d2017-06-27 12:02:00 -0500294 # b/38048356 Setup debug folders for camera
295 mkdir /data/vendor/camera 0770 camera camera
296
297 # b/38496103 Setup debug folders for display
298 mkdir /data/vendor/display 0770 system graphics
299
SalmaxChang08328d32018-05-09 13:14:34 +0800300 # Setup folder for modem fdr
301 mkdir /data/vendor/modem_fdr 0700 root system
302
Chris Friesdc2b50d2017-06-27 12:02:00 -0500303 # keep that at the end of on post-fs-data
304 # Set indication (checked by vold) that we have finished this action
305 setprop vold.post_fs_data_done 1
306
307 # Wait until the system time is set
Wei Wang0b75d942017-06-30 09:49:45 -0700308 wait_for_prop vendor.qcom.time.set true
Chris Friesdc2b50d2017-06-27 12:02:00 -0500309
Wei Wang90f3d652018-03-15 13:35:37 -0700310 # Wait qseecomd started
Daniel Mentzaab747b2018-05-17 19:13:51 -0700311 wait_for_prop vendor.sys.listeners.registered true
Wei Wang90f3d652018-03-15 13:35:37 -0700312
Jaekyun Seok0497eb52018-04-06 07:42:23 +0900313 # load IPA FWs
Daniel Mentzaab747b2018-05-17 19:13:51 -0700314 # This must be started when vendor.sys.listeners.registered is true
Jaekyun Seok0497eb52018-04-06 07:42:23 +0900315 start ipastart_sh
316
ChengYou Hoa0d99972018-06-05 20:02:27 +0800317 mkdir /data/vendor/nnhal 0700 system system
318
Chris Friesdc2b50d2017-06-27 12:02:00 -0500319# zygote need to be started after otapreopt which will be done on post-fs-data
320on zygote-start
321 # zygote is started in common init.rc
322 # and now we can continue initialize /data/
Chris Friesdc2b50d2017-06-27 12:02:00 -0500323 mkdir /data/vendor/ipa 0770 radio radio
324 chown radio radio /data/vendor/ipa
325
326 # Create the directories used by the Wireless subsystem
Ecco Park6d557a62018-02-20 14:32:20 -0800327 mkdir /data/vendor/wifi 0771 wifi wifi
Jeff Vander Stoepd25aa402018-01-24 08:57:13 -0800328 mkdir /data/vendor/wifi/wpa 0770 wifi wifi
329 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
Chris Friesdc2b50d2017-06-27 12:02:00 -0500330
331 # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
332 # We chown/chmod /persist again so because mount is run as root + defaults
333 chown root system /persist
334 chmod 0771 /persist
335 chown system system /persist/WCNSS_qcom_wlan_nv.bin
336
Chris Friesdc2b50d2017-06-27 12:02:00 -0500337 # Trigger WLAN driver load
338 write /sys/kernel/boot_wlan/boot_wlan 1
339
Chris Friesdc2b50d2017-06-27 12:02:00 -0500340 #create netmgr log dir
341 mkdir /data/vendor/netmgr 0771 radio radio
342 chmod 0771 /data/vendor/netmgr
343
Cyan_Hsieh831e4df2018-05-18 17:44:50 +0800344 # Create netmgr recovery folder
345 mkdir /data/vendor/netmgr/recovery 0700 radio radio
346 chmod 0770 /data/vendor/netmgr/recovery
347 write /data/vendor/netmgr/recovery/recovery_info ""
348 chown radio radio /data/vendor/netmgr/recovery/recovery_info
349
Chris Friesdc2b50d2017-06-27 12:02:00 -0500350 # Create directory used by audio subsystem
Jasmine Cha3f9a4852018-04-27 17:20:50 +0800351 mkdir /data/vendor/audio 0770 audio audio
Chris Friesdc2b50d2017-06-27 12:02:00 -0500352
353 # Create directory for audio delta files
Jasmine Cha3f9a4852018-04-27 17:20:50 +0800354 mkdir /data/vendor/audio/acdbdata 0770 media audio
355 mkdir /data/vendor/audio/acdbdata/delta 0770 media audio
Chris Friesdc2b50d2017-06-27 12:02:00 -0500356
Chris Friesdc2b50d2017-06-27 12:02:00 -0500357 # Create directory for radio
358 mkdir /data/vendor/radio 0771 system radio
Jie Song15d7bf92018-05-13 14:41:11 -0700359 mkdir /data/vendor/modem_stat 0771 system radio
360 write /data/vendor/modem_stat/debug.txt ""
361 chown system radio /data/vendor/modem_stat/debug.txt
362 chmod 0664 /data/vendor/modem_stat/debug.txt
Chris Friesdc2b50d2017-06-27 12:02:00 -0500363
Erik Staats4d855e92018-03-29 12:56:17 -0700364 # Set up sensors-related directories and permissions
Andrew Lehmer464f7ab2018-02-20 15:44:07 -0800365 chmod 775 /persist/sensors
366 chmod 664 /persist/sensors/sensors_settings
Erik Staats4d855e92018-03-29 12:56:17 -0700367 chown root system /persist/sensors/registry
368 chmod 775 /persist/sensors/registry
369 chown root system /persist/sensors/registry/registry
370 chmod 775 /persist/sensors/registry/registry
371
Andrew Lehmer464f7ab2018-02-20 15:44:07 -0800372 chown system root /persist/sensors/sensors_settings
Joel Galensonb716ec32018-02-26 14:40:47 -0800373 chown root root /persist/sensors/registry/registry/sensors_settings
Andrew Lehmer464f7ab2018-02-20 15:44:07 -0800374
Meng-hsuan Chung103da642018-02-14 15:38:44 -0800375 mkdir /data/vendor/sensors 0770
376 chown system system /data/vendor/sensors
377
David Lin23c2dd72018-03-21 18:05:54 -0700378 chmod 770 /persist/audio
379 chmod 660 /persist/audio/audio.cal
380 chown media audio /persist/audio
381 chown audioserver audio /persist/audio/audio.cal
382
383 chmod 770 /persist/haptics
384 chmod 440 /persist/haptics/cs40l20.cal
385 chown system system /persist/haptics
386 chown system system /persist/haptics/cs40l20.cal
387
Chris Friesdc2b50d2017-06-27 12:02:00 -0500388 # Mark the copy complete flag to not completed
389 write /data/vendor/radio/copy_complete 0
390 chown radio radio /data/vendor/radio/copy_complete
391 chmod 0660 /data/vendor/radio/copy_complete
392
393 # File flags for prebuilt ril db file
394 write /data/vendor/radio/prebuilt_db_support 1
395 chown radio radio /data/vendor/radio/prebuilt_db_support
396 chmod 0400 /data/vendor/radio/prebuilt_db_support
397 write /data/vendor/radio/db_check_done 0
398 chown radio radio /data/vendor/radio/db_check_done
399 chmod 0660 /data/vendor/radio/db_check_done
400
401 # Create directories for Location services
402 mkdir /data/vendor/location 0770 gps gps
403 mkdir /data/vendor/location/mq 0770 gps gps
404 mkdir /data/vendor/location/xtwifi 0770 gps gps
Edwin Tungf146e862018-04-17 09:34:04 +0800405 mkdir /dev/socket/location 0770 gps gps
406 mkdir /dev/socket/location/mq 0770 gps gps
407 mkdir /dev/socket/location/xtra 0770 gps gps
Chris Friesdc2b50d2017-06-27 12:02:00 -0500408
409 # NFC local data and nfcee xml storage
Chris Friesdc2b50d2017-06-27 12:02:00 -0500410 mkdir /data/vendor/nfc 0770 nfc nfc
411
Ruchi Kandoi776c7b62018-03-08 12:49:27 -0800412 # Secure Element directory for loader service functionality
413 mkdir /data/vendor/secure_element 0770 secure_element secure_element
414
Chris Friesdc2b50d2017-06-27 12:02:00 -0500415on early-boot
416 # wait for devices
Wei Wang90f3d652018-03-15 13:35:37 -0700417 wait_for_prop vendor.qcom.devup 1
Chris Friesdc2b50d2017-06-27 12:02:00 -0500418
Wei Wangf54009f2018-03-16 13:29:08 -0700419 # wait for insmod_sh to finish all modules
420 wait_for_prop vendor.all.modules.ready 1
421
David Lin5de1faa2018-02-23 16:39:14 -0800422 write /sys/kernel/boot_adsp/boot 1
Chris Fries256600f2018-04-03 17:01:47 -0500423 write /sys/kernel/boot_cdsp/boot 1
David Lin5de1faa2018-02-23 16:39:14 -0800424
Chris Friesdc2b50d2017-06-27 12:02:00 -0500425 # Update dm-verity state and set partition.*.verified properties
426 verity_update_state
427
Xu Han52588a12017-11-06 10:09:03 -0800428 # Permission for rainbow sensor
Xu Hanc1bf5042018-03-05 15:31:08 -0800429 chown cameraserver camera /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable
430 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable
431 chown cameraserver camera /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte
432 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte
433 chown cameraserver camera /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_write_byte
434 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_write_byte
Xu Han7f6bc0c2018-03-16 13:48:40 -0700435 chown cameraserver camera /dev/vd6281
436 chmod 0660 /dev/vd6281
Chris Friesdc2b50d2017-06-27 12:02:00 -0500437
438 # Permission for Vibrator
David Linc2521e22018-03-06 19:58:13 -0800439 chown system system /sys/class/leds/vibrator/device/cp_trigger_index
David Lin31f87672018-05-23 16:09:20 -0700440 chown system system /sys/class/leds/vibrator/device/cp_trigger_queue
David Lin8c3b3012018-03-20 16:28:15 -0700441 chown system system /sys/class/leds/vibrator/device/dig_scale
David Lin90af3c72018-03-21 16:18:25 -0700442 chown system system /sys/class/leds/vibrator/device/f0_stored
443 chown system system /sys/class/leds/vibrator/device/redc_stored
Chris Friesdc2b50d2017-06-27 12:02:00 -0500444
445 # Permission for LED driver
446 chown system system /sys/class/leds/red/on_off_ms
447 chown system system /sys/class/leds/green/on_off_ms
448 chown system system /sys/class/leds/blue/on_off_ms
449 chown system system /sys/class/leds/red/rgb_start
450 chown system system /sys/class/leds/green/rgb_start
451 chown system system /sys/class/leds/blue/rgb_start
Chris Friesa9094da2017-07-18 11:16:46 -0500452 chown system system /sys/class/backlight/panel0-backlight/brightness
Sean Callanana77bd422018-04-09 12:17:31 -0700453 chown system system /sys/class/backlight/panel0-backlight/vr_mode
linpeter32c1d1e2018-06-27 23:02:16 +0800454 chown system system /sys/class/backlight/panel0-backlight/hbm_mode
Chris Friesdc2b50d2017-06-27 12:02:00 -0500455
Patrick Tjina710d802018-04-28 23:15:01 -0700456 # Permission for Wireless charger
457 chown system system /sys/devices/platform/soc/a88000.i2c/i2c-0/0-0061/rxdata
458 chown system system /sys/devices/platform/soc/a88000.i2c/i2c-0/0-0061/txdata
459 chown system system /sys/devices/platform/soc/a88000.i2c/i2c-0/0-0061/txlen
460 chown system system /sys/devices/platform/soc/a88000.i2c/i2c-0/0-0061/ccreset
Patrick Tjin9e33c9b2018-06-27 12:10:08 -0700461 chown system system /sys/devices/platform/soc/a88000.i2c/i2c-0/0-0061/status
462 chown system system /sys/devices/platform/soc/a88000.i2c/i2c-0/0-0061/version
Patrick Tjina710d802018-04-28 23:15:01 -0700463
Andrew Chant5d40a8f2018-06-21 17:30:13 -0700464 # Permission for Pixelstats
465 chown system system /sys/class/power_supply/maxfg/cycle_counts_bins
466 chown system system /sys/class/misc/msm_cirrus_playback/resistance_left_right
467 chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_read_cnt
468 chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_write_cnt
469 chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_unmap_cnt
470 chown system system /sys/devices/platform/soc/1d84000.ufshc/slowio_sync_cnt
471
Chris Friesdc2b50d2017-06-27 12:02:00 -0500472on boot
473 mkdir /dev/socket/qmux_radio 0770 radio radio
474 chmod 2770 /dev/socket/qmux_radio
475 mkdir /dev/socket/qmux_audio 0770 media audio
476 chmod 2770 /dev/socket/qmux_audio
477 mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
478 chmod 2770 /dev/socket/qmux_bluetooth
479 mkdir /dev/socket/qmux_gps 0770 gps gps
480 chmod 2770 /dev/socket/qmux_gps
481
482 # Create NETMGR daemon socket area
483 mkdir /dev/socket/netmgr 0750 radio radio
484
485 setprop wifi.interface wlan0
486
Chris Friesdc2b50d2017-06-27 12:02:00 -0500487 # Assign TCP buffer thresholds to be ceiling value of technology maximums
488 # Increased technology maximums should be reflected here.
489 write /proc/sys/net/core/rmem_max 8388608
Ahmed ElArabawy59c798f2018-03-29 13:10:41 -0700490 write /proc/sys/net/core/wmem_max 8388608
Chris Friesdc2b50d2017-06-27 12:02:00 -0500491
492 # Update DVR cpusets to boot-time values.
Wei Wang5d1e47c2018-03-09 14:40:33 -0800493 write /dev/cpuset/kernel/cpus 0-7
494 write /dev/cpuset/system/cpus 0-7
495 write /dev/cpuset/system/performance/cpus 0-7
496 write /dev/cpuset/system/background/cpus 0-7
497 write /dev/cpuset/system/cpus 0-7
498 write /dev/cpuset/application/cpus 0-7
499 write /dev/cpuset/application/performance/cpus 0-7
500 write /dev/cpuset/application/background/cpus 0-7
501 write /dev/cpuset/application/cpus 0-7
Chris Friesdc2b50d2017-06-27 12:02:00 -0500502
503 # Bluetooth
504 chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
505 chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
506 chmod 0660 /sys/class/rfkill/rfkill0/state
507 chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
508 chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
509
510 # Wifi firmware reload path
511 chown wifi wifi /sys/module/wlan/parameters/fwpath
512
Chris Friesdc2b50d2017-06-27 12:02:00 -0500513 # default country code
514 setprop ro.boot.wificountrycode 00
515
Maggie White518d1872018-03-14 19:08:18 -0700516 # WLAN debug access
517 chown system system /d/icnss/stats
518
Chris Friesdc2b50d2017-06-27 12:02:00 -0500519service init-radio-sh /vendor/bin/init.radio.sh
520 class late_start
521 user radio
522 group root radio
523 oneshot
524
Wei Wang15201c62018-06-06 14:11:24 -0700525service vendor.thermal-engine /vendor/bin/thermal-engine -c /vendor/etc/thermal-engine-${ro.hardware}${vendor.thermal.vr_mode}${vendor.thermal.hw_mode}.conf
Chris Friesdc2b50d2017-06-27 12:02:00 -0500526 class main
527 user root
528 group root system
529 socket thermal-send-client stream 0666 system system
530 socket thermal-recv-client stream 0660 system system
531 socket thermal-recv-passive-client stream 0666 system system
532
Shawn Yang286d4702018-03-20 16:28:12 -0700533on property:persist.vendor.sys.ssr.restart_level=*
Shawn Yange0ba3f42017-11-21 18:46:53 -0800534 start vendor.ssr_setup
Chris Friesdc2b50d2017-06-27 12:02:00 -0500535
Shawn Yange0ba3f42017-11-21 18:46:53 -0800536service vendor.ssr_setup /vendor/bin/ssr_setup
Chris Friesdc2b50d2017-06-27 12:02:00 -0500537 oneshot
538 disabled
539
Shawn Yange0ba3f42017-11-21 18:46:53 -0800540service vendor.ssr_diag /vendor/bin/ssr_diag
Chris Friesdc2b50d2017-06-27 12:02:00 -0500541 class late_start
542 user system
543 group system
544 disabled
545
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900546service vendor.per_mgr /vendor/bin/pm-service
Chris Friesdc2b50d2017-06-27 12:02:00 -0500547 class core
548 user system
549 group system
550 ioprio rt 4
551
552service per_proxy /vendor/bin/pm-proxy
553 class core
554 user system
555 group system
556 disabled
557
558on property:sys.boot_completed=1
Wei Wang92118bc2018-05-08 13:53:12 -0700559 # Set the default IRQ affinity to the silver cluster.
560 write /proc/irq/default_smp_affinity f
561
Wei Wange828bc62017-12-31 22:14:16 -0800562 # Enable UFS powersaving
Wei Wang90f3d652018-03-15 13:35:37 -0700563 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
564 write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 1
Wei Wange828bc62017-12-31 22:14:16 -0800565
Chris Friesdc2b50d2017-06-27 12:02:00 -0500566 # Enable ZRAM on boot_complete
Oleg Matcovschib32aa0f2017-10-23 15:15:16 -0500567 swapon_all /vendor/etc/fstab.${ro.boot.hardware.platform}
Chris Friesdc2b50d2017-06-27 12:02:00 -0500568
569 # Setup final cpuset
570 write /dev/cpuset/top-app/cpus 0-7
571 write /dev/cpuset/foreground/boost/cpus 0-3,6-7
572 write /dev/cpuset/foreground/cpus 0-3,6-7
573 write /dev/cpuset/background/cpus 0-1
574 write /dev/cpuset/system-background/cpus 0-3
Tim Murray0c30c362018-04-13 11:09:04 -0700575 write /dev/cpuset/restricted/cpus 0-3
Chris Friesdc2b50d2017-06-27 12:02:00 -0500576
577 # Update DVR cpusets to runtime values.
Wei Wang5d1e47c2018-03-09 14:40:33 -0800578 # Kernel cpuset will be apply on PowerHAL
579 write /dev/cpuset/system/performance/cpus 6-7
580 write /dev/cpuset/system/background/cpus 0-1
581 write /dev/cpuset/system/cpus 0-1,6-7
582 write /dev/cpuset/application/performance/cpus 4-5
583 write /dev/cpuset/application/background/cpus 0-1
584 write /dev/cpuset/application/cpus 0-1,4-5
Chris Friesdc2b50d2017-06-27 12:02:00 -0500585
Wei Wangcfcc7542018-05-22 09:51:56 -0700586 # Runtime fs tuning: as we have init boottime setting and kernel patch setting
587 # default readahead to 2048KB. We should adjust the setting upon boot_complete
588 # for runtime performance
Wei Wang1185da12018-02-26 19:18:34 -0800589 write /sys/block/sda/queue/read_ahead_kb 1024
590 write /sys/block/sda/queue/nr_requests 128
591 write /sys/block/sda/queue/iostats 1
592 write /sys/block/sdf/queue/read_ahead_kb 1024
593 write /sys/block/sdf/queue/nr_requests 128
594 write /sys/block/sdf/queue/iostats 1
595 write /sys/block/dm-0/queue/read_ahead_kb 512
596 write /sys/block/dm-1/queue/read_ahead_kb 512
Wei Wangcfcc7542018-05-22 09:51:56 -0700597 write /sys/block/dm-2/queue/read_ahead_kb 512
598 write /sys/block/dm-3/queue/read_ahead_kb 512
Wei Wang1185da12018-02-26 19:18:34 -0800599
Thierry Strudele8c77d02018-04-10 17:17:01 -0700600 # QCOM FG SRAM dump for dumpstate
601 chown system system /d/fg/sram/data
602 chown system system /d/fg/sram/count
603 chown system system /d/fg/sram/address
604
605 # Maxim FG dump for dumpstate
606 chown system system /d/regmap/4-0036/registers
607 chown system system /d/regmap/4-000b/registers
608
609 # Dump QCOM FG cycle counts for dumpstate
610 chown system system /sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/cycle_counts_bins
Thierry Strudelb84f1372018-06-21 19:02:56 -0700611 chown system system /sys/devices/platform/soc/a90000.i2c/i2c-4/4-0036/power_supply/maxfg/cycle_counts_bins
Thierry Strudele8c77d02018-04-10 17:17:01 -0700612
613 # HardwareInfo needs to be able to read CC bins
614 chmod 644 /sys/devices/platform/soc/c440000.qcom,spmi/spmi-0/spmi0-02/c440000.qcom,spmi:qcom,pmi8998@2:qpnp,fg/cycle_counts_bins
Thierry Strudelb84f1372018-06-21 19:02:56 -0700615 chmod 644 /sys/devices/platform/soc/a90000.i2c/i2c-4/4-0036/power_supply/maxfg/cycle_counts_bins
Thierry Strudele8c77d02018-04-10 17:17:01 -0700616
Wei Wang14b4ed42017-10-02 14:48:46 -0700617 # UFS health
618 chmod 755 /sys/kernel/debug/ufshcd0
619 chmod 644 /sys/kernel/debug/ufshcd0/show_hba
620 chmod 644 /sys/kernel/debug/ufshcd0/stats/err_stats
621 chmod 644 /sys/kernel/debug/ufshcd0/stats/io_stats
622 chmod 644 /sys/kernel/debug/ufshcd0/stats/req_stats
623
Wei Wangf46b4952018-05-24 14:32:00 -0700624 # Disable sched_boost
625 write /proc/sys/kernel/sched_boost 0
626
Wei Wang70706372018-05-25 18:22:35 -0700627 # Enable PowerHAL hint processing
628 setprop vendor.powerhal.init 1
629
Chris Friesdc2b50d2017-06-27 12:02:00 -0500630 start per_proxy
631
632on property:sys.shutdown.requested=*
633 stop per_proxy
634
Daniel Mentzaab747b2018-05-17 19:13:51 -0700635service vendor.qseecomd /vendor/bin/qseecomd
Chris Friesdc2b50d2017-06-27 12:02:00 -0500636 class core
637 user root
638 group root
639
640service time_daemon /vendor/bin/time_daemon
641 class core
642 user root
643 group root
644
645service ss_ramdump /vendor/bin/subsystem_ramdump
646 class main
647 user root
Shawn Yang5af01772018-02-24 17:36:33 -0800648 group system
Chris Friesdc2b50d2017-06-27 12:02:00 -0500649 disabled
650
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900651on property:persist.vendor.sys.ssr.enable_ramdumps=1
Chris Friesdc2b50d2017-06-27 12:02:00 -0500652 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
Ecco Park03c6d8a2018-02-26 14:56:04 -0800653 mkdir /data/vendor/wifidump 771 root system
Petri Gynthera14b5262018-01-23 16:55:00 -0800654 mkdir /data/vendor/ramdump 771 root system
655 mkdir /data/vendor/ssrdump 771 root system
Shawn Yang5af01772018-02-24 17:36:33 -0800656 mkdir /data/vendor/ssrlog 771 root system
Chris Friesdc2b50d2017-06-27 12:02:00 -0500657 start ss_ramdump
658
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900659on property:persist.vendor.sys.ssr.enable_ramdumps=0
Chris Friesdc2b50d2017-06-27 12:02:00 -0500660 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
661
Daniel Mentzb4e889d2018-03-09 12:03:53 -0800662service sensors.qti /vendor/bin/sensors.qti
663 class core
Erik Staats4d855e92018-03-29 12:56:17 -0700664 user system
665 group system
666 # Grants the ability for this daemon to bind IPC router ports so it can
667 # register QMI services
668 capabilities NET_BIND_SERVICE
Daniel Mentzb4e889d2018-03-09 12:03:53 -0800669
Erik Staatsaecb61a2018-04-19 12:09:24 -0700670service vendor.sscrpcd /vendor/bin/sscrpcd
Chris Friesdc2b50d2017-06-27 12:02:00 -0500671 class core
Erik Staats4d855e92018-03-29 12:56:17 -0700672 user system
673 group system
Chris Friesdc2b50d2017-06-27 12:02:00 -0500674
675service adsprpcd /vendor/bin/adsprpcd
676 class main
677 user media
678 group media
679
c_mtharuc683b8b2017-11-14 12:12:14 +0530680service cdsprpcd /vendor/bin/cdsprpcd
681 class main
682 user system
683 group system
684
Chris Friesdc2b50d2017-06-27 12:02:00 -0500685service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
686 class core
687 user root
688 oneshot
689
690service rmt_storage /vendor/bin/rmt_storage
691 class core
692 user root
SalmaxChang7f883b82018-05-25 17:36:16 +0800693 ioprio rt 0
694 shutdown critical
Chris Friesdc2b50d2017-06-27 12:02:00 -0500695
696service tftp_server /vendor/bin/tftp_server
697 class core
698 user root
699 group root system
700
701service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
Jeff Vander Stoepd25aa402018-01-24 08:57:13 -0800702 -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \
Jeff Vander Stoepd8283bc2017-11-30 11:02:28 -0800703 -g@android:wpa_wlan0
Chris Friesdc2b50d2017-06-27 12:02:00 -0500704 # we will start as root and wpa_supplicant will switch to user wifi
705 # after setting up the capabilities required for WEXT
706 # user wifi
707 # group wifi inet keystore
Roshan Pius6beae4e2018-02-05 16:21:46 -0800708 interface android.hardware.wifi.supplicant@1.0::ISupplicant default
709 interface android.hardware.wifi.supplicant@1.1::ISupplicant default
Chris Friesdc2b50d2017-06-27 12:02:00 -0500710 class main
711 socket wpa_wlan0 dgram 660 wifi wifi
712 disabled
713 oneshot
714
715service cnss-daemon /vendor/bin/cnss-daemon -n -l
716 class late_start
717 user system
718 group system inet wifi
719
720service imsqmidaemon /vendor/bin/imsqmidaemon
721 class main
722 user system
723 socket ims_qmid stream 0660 system radio
724 group radio log diag
725
726service imsdatadaemon /vendor/bin/imsdatadaemon
727 class main
728 user system
729 socket ims_datad stream 0660 system radio
730 group system wifi radio inet log
731 disabled
732
Jayachandran C5e2ce412018-01-02 18:30:31 -0800733on property:vendor.ims.QMI_DAEMON_STATUS=1
Chris Friesdc2b50d2017-06-27 12:02:00 -0500734 start imsdatadaemon
735
736service ims_rtp_daemon /vendor/bin/ims_rtp_daemon
737 class main
738 user system
739 group radio diag inet log
740 disabled
741
Jayachandran C5e2ce412018-01-02 18:30:31 -0800742service imsrcsservice /vendor/bin/imsrcsd
Chris Friesdc2b50d2017-06-27 12:02:00 -0500743 class main
744 user system
745 group radio diag inet log
746 disabled
747
Jayachandran C5e2ce412018-01-02 18:30:31 -0800748on property:vendor.ims.DATA_DAEMON_STATUS=1
Chris Friesdc2b50d2017-06-27 12:02:00 -0500749 start ims_rtp_daemon
Chris Friesdc2b50d2017-06-27 12:02:00 -0500750 start imsrcsservice
751
Chris Friesdc2b50d2017-06-27 12:02:00 -0500752service cnd /vendor/bin/cnd
753 class main
Jayachandran Cc7707a72018-05-21 14:19:51 -0700754 user radio
Sooraj Sasindran41628e62018-05-18 16:51:51 -0700755 group system wifi inet radio wakelock
Chris Friesdc2b50d2017-06-27 12:02:00 -0500756
757service netmgrd /vendor/bin/netmgrd
758 class main
759 user root
760 group root wifi wakelock radio inet
761
762service port-bridge /vendor/bin/port-bridge
763 class main
764 user radio
765 group radio system inet
766 oneshot
767
768service ipacm /vendor/bin/ipacm
769 class main
770 user radio
771 group radio inet
772
Chris Friesdc2b50d2017-06-27 12:02:00 -0500773service loc_launcher /vendor/bin/loc_launcher
774 class late_start
775 group gps inet diag wifi
776
777service pd_mapper /vendor/bin/pd-mapper
778 class core
779
780# bugreport is triggered by holding down volume down, volume up and power
781service bugreport /system/bin/dumpstate -d -p -B -z \
782 -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
783 class main
784 disabled
785 oneshot
786 keycodes 114 115 116
787
Brian Duddie28fc8a82017-10-26 16:27:30 -0700788service vendor.chre /vendor/bin/chre
Chris Friesdc2b50d2017-06-27 12:02:00 -0500789 class late_start
Brian Duddie28fc8a82017-10-26 16:27:30 -0700790 user system
Andrew Rossignol6267d222018-06-01 14:11:25 -0700791 group system wakelock
792 capabilities BLOCK_SUSPEND
Chris Friesdc2b50d2017-06-27 12:02:00 -0500793 socket chre seqpacket 0660 root system
Brian Duddie28fc8a82017-10-26 16:27:30 -0700794 shutdown critical
Chris Friesdc2b50d2017-06-27 12:02:00 -0500795
Chris Friesdc2b50d2017-06-27 12:02:00 -0500796service devstart_sh /vendor/bin/init.qcom.devstart.sh
797 class main
798 user root
799 group root system
800 disabled
801 oneshot
802
Ecco Park03c6d8a2018-02-26 14:56:04 -0800803service vendor.wlan_sh /vendor/bin/init.qcom.wlan.sh
804 class main
805 user root
806 group root
807 disabled
808 oneshot
809
Chris Friesdc2b50d2017-06-27 12:02:00 -0500810service ipastart_sh /vendor/bin/init.qcom.ipastart.sh
811 class main
812 user system
813 group net_admin
814 disabled
815 oneshot
816
817service insmod_sh /vendor/bin/init.insmod.sh
818 class main
819 user root
820 group root system
821 disabled
822 oneshot
Mark Salyzyn4371f922018-01-16 09:50:05 -0800823
Wei Wang0a5e1e72018-03-12 11:59:55 -0700824service msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf
825 socket msm_irqbalance seqpacket 660 root system
826 class core
827 user root
828 group root
829 writepid /dev/cpuset/system-background/tasks
830
Naseer Ahmed2e3d63d2018-03-16 09:30:55 -0400831service ppd /vendor/bin/mm-pp-dpps
832 class late_start
833 user graphics
834 group graphics
835 socket pps stream 0660 system system
836 disabled
837
Shawn Willden9ff2c612018-06-28 18:40:17 +0000838service wait_for_strongbox /vendor/bin/hw/wait_for_strongbox
839 user root
840 group root system
841 priority -20
842 ioprio rt 0
843
Ajay Dudani462b57b2018-05-03 12:13:56 -0700844on property:init.svc.vendor.hwcomposer-2-2=stopped
Naseer Ahmed2e3d63d2018-03-16 09:30:55 -0400845 stop ppd
846
Ajay Dudani462b57b2018-05-03 12:13:56 -0700847on property:init.svc.vendor.hwcomposer-2-2=running
Naseer Ahmed2e3d63d2018-03-16 09:30:55 -0400848 start ppd
849
Mark Salyzyn4371f922018-01-16 09:50:05 -0800850# b/70518189 vDSO experiments
851on property:sys.vdso=*
852 write /sys/module/vdso/parameters/enable_32 1
853 write /sys/module/vdso/parameters/enable_64 1
854
855on property:sys.vdso=false
856 write /sys/module/vdso/parameters/enable_32 0
857 write /sys/module/vdso/parameters/enable_64 0
858
859on property:sys.vdso=64
860 write /sys/module/vdso/parameters/enable_32 0
861
862on property:sys.vdso=32
863 write /sys/module/vdso/parameters/enable_64 0
Ecco Park0e37dfa2018-03-26 13:27:05 -0700864
865on property:wlan.driver.status=ok
866 # Get the wlan driver/fw version
867 start vendor.wlan_sh
Stuart Scott7aef2c22018-05-07 11:22:21 -0700868
869on property:ro.boot.mode=sota
870 setprop ro.boot.sota enabled
Ruchi Kandoiab31fbc2018-05-08 10:25:36 -0700871
872on property:ro.boot.hardware.sku=G013A
873 setprop persist.nfc.uicc_enabled true
874on property:ro.boot.hardware.sku=G013B
875 setprop persist.nfc.uicc_enabled false
Ruchi Kandoi9acfd692018-06-26 09:43:06 -0700876 setprop persist.vendor.radio.uicc_se_enabled false
Ruchi Kandoi66300ea2018-06-13 17:09:49 -0700877 interface_start android.hardware.secure_element@1.0::ISecureElement/eSE1
Ruchi Kandoiab31fbc2018-05-08 10:25:36 -0700878on property:ro.boot.hardware.sku=G013C
879 setprop persist.nfc.uicc_enabled true
880on property:ro.boot.hardware.sku=G013D
881 setprop persist.nfc.uicc_enabled false
Ruchi Kandoi9acfd692018-06-26 09:43:06 -0700882 setprop persist.vendor.radio.uicc_se_enabled false
Ruchi Kandoi66300ea2018-06-13 17:09:49 -0700883 interface_start android.hardware.secure_element@1.0::ISecureElement/eSE1
Jack Wu093f89f2018-05-09 13:52:57 +0800884
885# charger driver exposes now finer grain control, map demo mode to those properties
886# demo mode can only be exit wipping data which will also reset the persist properties
887on property:sys.retaildemo.enabled=1
888 setprop persist.vendor.charge.stop.level 35
889 setprop persist.vendor.charge.start.level 30
890
891# system will not set the sys.retaildemo.enabled to 0 but this is used to set back to default charging
892on property:sys.retaildemo.enabled=0
893 setprop persist.vendor.charge.stop.level 100
894 setprop persist.vendor.charge.start.level 0
895
896on property:persist.vendor.charge.stop.level=*
897 write /sys/devices/platform/soc/soc:google,charger/charge_stop_level ${persist.vendor.charge.stop.level}
898
899on property:persist.vendor.charge.start.level=*
900 write /sys/devices/platform/soc/soc:google,charger/charge_start_level ${persist.vendor.charge.start.level}
Eino-Ville Talvala6005e322018-06-15 15:26:56 -0700901
902# For Japan radio builds, always enforce camera shutter sound
903# Since this property is read by the audio server in system service,
904# it should be written by the system init.
905on property:ro.boot.hardware.radio.subtype=1
906 setprop audio.camerasound.force true