blob: f16896aa1a109d5634bc4bded1a359840f56de3b [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
24on charger
Wei Wangee78ac92018-01-24 11:15:47 -080025 # Lock to lowest freqency on charger mode
26 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor powersave
27 write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor powersave
28 # Offline all cores expect cpu0
29 write /sys/devices/system/cpu/cpu1/online 0
Chris Friesdc2b50d2017-06-27 12:02:00 -050030 write /sys/devices/system/cpu/cpu2/online 0
31 write /sys/devices/system/cpu/cpu3/online 0
32 write /sys/devices/system/cpu/cpu4/online 0
33 write /sys/devices/system/cpu/cpu5/online 0
34 write /sys/devices/system/cpu/cpu6/online 0
35 write /sys/devices/system/cpu/cpu7/online 0
36 wait /dev/block/bootdevice
Wei Wang90f3d652018-03-15 13:35:37 -070037 # Enable UFS powersaving
38 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkscale_enable 1
39 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
40 write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 1
Robb Glasser30ecafe2017-11-17 15:19:30 -080041 write /sys/module/lpm_levels/parameters/sleep_disabled 0
Chris Friesdc2b50d2017-06-27 12:02:00 -050042
43service charger /charger
44 class charger
45 seclabel u:r:charger:s0
46
47on early-init
48 mount debugfs debugfs /sys/kernel/debug
49 chmod 0755 /sys/kernel/debug
50
51on init
Wei Wang90f3d652018-03-15 13:35:37 -070052 # QSEE rpmb listener need symlink for bootdevice
53 wait /dev/block/platform/soc/${ro.boot.bootdevice}
54 symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
55
56 # start qseecomd early as we mount system/ vendor/ early
57 # vold needs keymaster that needs qseecomd
58 start qseecomd
59
Wei Wang1185da12018-02-26 19:18:34 -080060 # Boot time fs tune
61 write /sys/block/sda/queue/iostats 0
62 write /sys/block/sda/queue/scheduler cfq
63 write /sys/block/sda/queue/iosched/slice_idle 0
64 write /sys/block/sda/queue/read_ahead_kb 2048
65 write /sys/block/sda/queue/nr_requests 256
66 write /sys/block/sdf/queue/iostats 0
67 write /sys/block/sdf/queue/scheduler cfq
68 write /sys/block/sdf/queue/iosched/slice_idle 0
69 write /sys/block/sdf/queue/read_ahead_kb 2048
70 write /sys/block/sdf/queue/nr_requests 256
71 write /sys/block/dm-0/queue/read_ahead_kb 2048
72 write /sys/block/dm-1/queue/read_ahead_kb 2048
73
Wei Wang90f3d652018-03-15 13:35:37 -070074 # Disable UFS powersaving
75 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkscale_enable 0
76 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 0
77 write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 0
78
Robb Glasser30ecafe2017-11-17 15:19:30 -080079 # Disable powersaving
80 write /sys/module/lpm_levels/parameters/sleep_disabled 1
81
Chris Friesdc2b50d2017-06-27 12:02:00 -050082 # Loading kernel modules in background
83 start insmod_sh
84
85 # Support legacy paths
86 symlink /sdcard /mnt/sdcard
87 symlink /sdcard /storage/sdcard0
88
Robb Glasser30ecafe2017-11-17 15:19:30 -080089 # bring back all cores
90 write /sys/devices/system/cpu/cpu0/online 1
91 write /sys/devices/system/cpu/cpu1/online 1
92 write /sys/devices/system/cpu/cpu2/online 1
93 write /sys/devices/system/cpu/cpu3/online 1
94 write /sys/devices/system/cpu/cpu4/online 1
95 write /sys/devices/system/cpu/cpu5/online 1
96 write /sys/devices/system/cpu/cpu6/online 1
97 write /sys/devices/system/cpu/cpu7/online 1
98
99 # configure governor settings for little cluster
100 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor schedutil
Connor O'Brien5aa6fe02018-02-21 10:13:10 -0800101 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/up_rate_limit_us 500
102 write /sys/devices/system/cpu/cpu0/cpufreq/schedutil/down_rate_limit_us 20000
Robb Glasser30ecafe2017-11-17 15:19:30 -0800103
104 # configure governor settings for big cluster
105 write /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor schedutil
Connor O'Brien5aa6fe02018-02-21 10:13:10 -0800106 write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/up_rate_limit_us 500
107 write /sys/devices/system/cpu/cpu4/cpufreq/schedutil/down_rate_limit_us 20000
Chris Friesdc2b50d2017-06-27 12:02:00 -0500108
109 # set default schedTune value for foreground/top-app
110 write /dev/stune/foreground/schedtune.prefer_idle 1
111 write /dev/stune/top-app/schedtune.boost 10
112 write /dev/stune/top-app/schedtune.prefer_idle 1
113
114 # Setup cpusets used by the VR services.
115 mkdir /dev/cpuset/kernel 0750 root system
116 write /dev/cpuset/kernel/cpus 0
117 write /dev/cpuset/kernel/mems 0
118 chown system system /dev/cpuset/kernel/tasks
Wei Wang5d1e47c2018-03-09 14:40:33 -0800119 chown system system /dev/cpuset/kernel/cpus
Chris Friesdc2b50d2017-06-27 12:02:00 -0500120 chmod 0660 /dev/cpuset/kernel/tasks
121
Alexey Polyudov2efbcb92017-10-10 14:50:10 -0700122 mkdir /dev/cpuset/camera-daemon
123 write /dev/cpuset/camera-daemon/cpus 0-7
124 write /dev/cpuset/camera-daemon/mems 0
125 chown system system /dev/cpuset/camera-daemon
126 chown system system /dev/cpuset/camera-daemon/tasks
127 chmod 0664 /dev/cpuset/camera-daemon/tasks
128
Chris Friesdc2b50d2017-06-27 12:02:00 -0500129 mkdir /dev/cpuset/system 0750 root system
130 write /dev/cpuset/system/cpus 0
131 write /dev/cpuset/system/mems 0
132 chown system system /dev/cpuset/system/tasks
133 chmod 0660 /dev/cpuset/system/tasks
134
135 mkdir /dev/cpuset/system/performance 0750 root system
136 write /dev/cpuset/system/performance/cpus 0
137 write /dev/cpuset/system/performance/mems 0
138 chown system system /dev/cpuset/system/performance/tasks
139 chmod 0660 /dev/cpuset/system/performance/tasks
140
141 mkdir /dev/cpuset/system/background 0750 root system
142 write /dev/cpuset/system/background/cpus 0
143 write /dev/cpuset/system/background/mems 0
144 chown system system /dev/cpuset/system/background/tasks
145 chmod 0660 /dev/cpuset/system/background/tasks
146
147 mkdir /dev/cpuset/application 0750 root system
148 write /dev/cpuset/application/cpus 0
149 write /dev/cpuset/application/mems 0
150 chown system system /dev/cpuset/application/tasks
151 chmod 0660 /dev/cpuset/application/tasks
152
153 mkdir /dev/cpuset/application/performance 0750 root system
154 write /dev/cpuset/application/performance/cpus 0
155 write /dev/cpuset/application/performance/mems 0
156 chown system system /dev/cpuset/application/performance/tasks
157 chmod 0660 /dev/cpuset/application/performance/tasks
158
159 mkdir /dev/cpuset/application/background 0750 root system
160 write /dev/cpuset/application/background/cpus 0
161 write /dev/cpuset/application/background/mems 0
162 chown system system /dev/cpuset/application/background/tasks
163 chmod 0660 /dev/cpuset/application/background/tasks
164
165 # Create UDS structure for base VR services.
166 mkdir /dev/socket/pdx 0775 system system
167 mkdir /dev/socket/pdx/system 0775 system system
168 mkdir /dev/socket/pdx/system/buffer_hub 0775 system system
169 mkdir /dev/socket/pdx/system/performance 0775 system system
170 mkdir /dev/socket/pdx/system/vr 0775 system system
171 mkdir /dev/socket/pdx/system/vr/display 0775 system system
172 mkdir /dev/socket/pdx/system/vr/pose 0775 system system
173 mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
174
Chris Friesdc2b50d2017-06-27 12:02:00 -0500175 # b/37682684 Enable suspend clock reporting
176 write /sys/kernel/debug/clk/debug_suspend 1
177
178 # ZRAM setup
179 write /sys/block/zram0/comp_algorithm lz4
180 write /proc/sys/vm/page-cluster 0
181
182 # Some user code relies on ro.boot.hardware.revision
183 setprop ro.boot.hardware.revision ${ro.revision}
184
Chris Friesbc5b5142017-10-24 11:42:56 -0500185 # Thermal config file per product
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900186 setprop vendor.sys.qcom.thermalcfg /vendor/etc/thermal-engine-${ro.hardware}.conf
Chris Friesbc5b5142017-10-24 11:42:56 -0500187
Chris Friesdc2b50d2017-06-27 12:02:00 -0500188on fs
189 wait /dev/block/platform/soc/${ro.boot.bootdevice}
190 symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
191
Oleg Matcovschib32aa0f2017-10-23 15:15:16 -0500192 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --early
Chris Friesdc2b50d2017-06-27 12:02:00 -0500193
194 mkdir /persist/data 0700 system system
195 mkdir /persist/display 0770 system graphics
196 mkdir /persist/rfs 0770 root system
197 mkdir /persist/hlos_rfs 0770 root system
198 chmod 0770 /persist/rfs
Joel Galensonb716ec32018-02-26 14:40:47 -0800199 chmod 0770 /persist/rfs/shared
200 chmod 0770 /persist/rfs/msm
201 chmod 0770 /persist/rfs/msm/adsp
202 chmod 0770 /persist/rfs/msm/mpss
203 chmod 0770 /persist/rfs/msm/slpi
204 chmod 0770 /persist/rfs/mdm
205 chmod 0770 /persist/rfs/mdm/adsp
206 chmod 0770 /persist/rfs/mdm/mpss
207 chmod 0770 /persist/rfs/mdm/slpi
208 chmod 0770 /persist/rfs/mdm/tn
209 chmod 0770 /persist/rfs/apq
210 chmod 0770 /persist/rfs/apq/gnss
Chris Friesdc2b50d2017-06-27 12:02:00 -0500211 chmod 0770 /persist/hlos_rfs
212 restorecon_recursive /persist
213
214 # Start HW service manager early
215 start hwservicemanager
216
Chris Friesdc2b50d2017-06-27 12:02:00 -0500217on late-fs
218 # Start devices by sysfs trigger
219 start devstart_sh
220 # Start services for bootanim
221 start surfaceflinger
222 start bootanim
Jaekyun Seok51027e32017-08-30 10:49:10 +0900223 start vendor.hwcomposer-2-1
224 start vendor.configstore-hal
225 start vendor.gralloc-2-0
Chris Friesdc2b50d2017-06-27 12:02:00 -0500226
227 # Mount RW partitions which need run fsck
Oleg Matcovschib32aa0f2017-10-23 15:15:16 -0500228 mount_all /vendor/etc/fstab.${ro.boot.hardware.platform} --late
Chris Friesdc2b50d2017-06-27 12:02:00 -0500229
Wei Wang0b75d942017-06-30 09:49:45 -0700230 # Required for time_daemon
231 mkdir /persist/time 0770 system system
232
Chris Friesdc2b50d2017-06-27 12:02:00 -0500233 # Start time daemon early so that the system time can be set early
234 start time_daemon
235
236on post-fs
237 # set RLIMIT_MEMLOCK to 64MB
238 setrlimit 8 67108864 67108864
239
240 chmod 0664 /sys/devices/virtual/graphics/fb0/idle_time
241 chown system graphics /sys/devices/virtual/graphics/fb0/idle_time
242 write /sys/devices/virtual/graphics/fb0/idle_time 100
243
Wei Wang90f3d652018-03-15 13:35:37 -0700244on property:vendor.all.modules.ready=1
Ahmed ElArabawyb7404842018-01-17 08:46:35 -0800245 setprop wlan.driver.status "ok"
Chris Friesdc2b50d2017-06-27 12:02:00 -0500246
247on property:sys.listeners.registered=true
248 # load IPA FWs
249 start ipastart_sh
250
251on post-fs-data
252 # We can start netd here before in is launched in common init.rc on zygote-start
253 start netd
254
Chris Friesdc2b50d2017-06-27 12:02:00 -0500255 # b/38048356 Setup debug folders for camera
256 mkdir /data/vendor/camera 0770 camera camera
257
258 # b/38496103 Setup debug folders for display
259 mkdir /data/vendor/display 0770 system graphics
260
261 # keep that at the end of on post-fs-data
262 # Set indication (checked by vold) that we have finished this action
263 setprop vold.post_fs_data_done 1
264
265 # Wait until the system time is set
Wei Wang0b75d942017-06-30 09:49:45 -0700266 wait_for_prop vendor.qcom.time.set true
Chris Friesdc2b50d2017-06-27 12:02:00 -0500267
Wei Wang90f3d652018-03-15 13:35:37 -0700268 # Wait qseecomd started
269 wait_for_prop sys.listeners.registered true
270
Chris Friesdc2b50d2017-06-27 12:02:00 -0500271# zygote need to be started after otapreopt which will be done on post-fs-data
272on zygote-start
273 # zygote is started in common init.rc
274 # and now we can continue initialize /data/
275 mkdir /data/tombstones 0771 system system
276 mkdir /tombstones/modem 0771 system system
277 mkdir /tombstones/lpass 0771 system system
278 mkdir /tombstones/wcnss 0771 system system
279 mkdir /tombstones/dsps 0771 system system
280 mkdir /data/misc/qvop 0660 system system
281 mkdir /data/misc/hbtp 0750 system system
282 mkdir /data/misc/seemp 0700 system system
283
284 # Create directory for TZ Apps
285 mkdir /data/misc/qsee 0770 system system
286
287 mkdir /data/media 0770 media_rw media_rw
288 chown media_rw media_rw /data/media
289
290 mkdir /data/vendor/ipa 0770 radio radio
291 chown radio radio /data/vendor/ipa
292
293 # Create the directories used by the Wireless subsystem
294 mkdir /data/misc/wifi 0770 wifi wifi
Chris Friesdc2b50d2017-06-27 12:02:00 -0500295 mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
Ecco Park6d557a62018-02-20 14:32:20 -0800296 mkdir /data/vendor/wifi 0771 wifi wifi
Jeff Vander Stoepd25aa402018-01-24 08:57:13 -0800297 mkdir /data/vendor/wifi/wpa 0770 wifi wifi
298 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
Chris Friesdc2b50d2017-06-27 12:02:00 -0500299 mkdir /data/misc/dhcp 0770 dhcp dhcp
300 chown dhcp dhcp /data/misc/dhcp
301
302 # Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
303 # We chown/chmod /persist again so because mount is run as root + defaults
304 chown root system /persist
305 chmod 0771 /persist
306 chown system system /persist/WCNSS_qcom_wlan_nv.bin
307
308 # Create directory for hostapd
309 mkdir /data/hostapd 0770 system wifi
310
311 # Trigger WLAN driver load
312 write /sys/kernel/boot_wlan/boot_wlan 1
313
314 #create port-bridge log dir
315 mkdir /data/misc/port_bridge 0770 radio radio
316 chmod 0770 /data/misc/port_bridge
317
318 #create netmgr log dir
319 mkdir /data/vendor/netmgr 0771 radio radio
320 chmod 0771 /data/vendor/netmgr
321
322 # Create the directories used by CnE subsystem
323 mkdir /data/connectivity 0771 system system
324 chown system system /data/connectivity
325
326 # Create the directories used by DPM subsystem
327 mkdir /data/dpm 0771 system system
328 chown system system /data/dpm
329
330 mkdir /data/dpm/nsrm 0771 system system
331 chown system system /data/dpm/nsrm
332
333 # Create directory used by audio subsystem
334 mkdir /data/misc/audio 0770 audio audio
335
336 # Create directory for audio delta files
337 mkdir /data/misc/audio/acdbdata 0770 media audio
338 mkdir /data/misc/audio/acdbdata/delta 0770 media audio
339
340 # Create directory used by the DASH client
341 mkdir /data/misc/dash 0770 media audio
342
343 # Create directory for radio
344 mkdir /data/vendor/radio 0771 system radio
345
346 # Create directory used by display clients
347 mkdir /data/misc/display 0770 system graphics
348
Andrew Lehmer464f7ab2018-02-20 15:44:07 -0800349 chmod 775 /persist/sensors
350 chmod 664 /persist/sensors/sensors_settings
351 chown system root /persist/sensors/sensors_settings
Joel Galensonb716ec32018-02-26 14:40:47 -0800352 chown root root /persist/sensors/registry/registry/sensors_settings
Andrew Lehmer464f7ab2018-02-20 15:44:07 -0800353
354 mkdir /data/misc/sensors
355 chmod 775 /data/misc/sensors
Chris Friesdc2b50d2017-06-27 12:02:00 -0500356
Meng-hsuan Chung103da642018-02-14 15:38:44 -0800357 mkdir /data/vendor/sensors 0770
358 chown system system /data/vendor/sensors
359
David Lin23c2dd72018-03-21 18:05:54 -0700360 chmod 770 /persist/audio
361 chmod 660 /persist/audio/audio.cal
362 chown media audio /persist/audio
363 chown audioserver audio /persist/audio/audio.cal
364
365 chmod 770 /persist/haptics
366 chmod 440 /persist/haptics/cs40l20.cal
367 chown system system /persist/haptics
368 chown system system /persist/haptics/cs40l20.cal
369
Chris Friesdc2b50d2017-06-27 12:02:00 -0500370 # Mark the copy complete flag to not completed
371 write /data/vendor/radio/copy_complete 0
372 chown radio radio /data/vendor/radio/copy_complete
373 chmod 0660 /data/vendor/radio/copy_complete
374
375 # File flags for prebuilt ril db file
376 write /data/vendor/radio/prebuilt_db_support 1
377 chown radio radio /data/vendor/radio/prebuilt_db_support
378 chmod 0400 /data/vendor/radio/prebuilt_db_support
379 write /data/vendor/radio/db_check_done 0
380 chown radio radio /data/vendor/radio/db_check_done
381 chmod 0660 /data/vendor/radio/db_check_done
382
383 # Create directories for Location services
384 mkdir /data/vendor/location 0770 gps gps
385 mkdir /data/vendor/location/mq 0770 gps gps
386 mkdir /data/vendor/location/xtwifi 0770 gps gps
387
388 # NFC local data and nfcee xml storage
Chris Friesdc2b50d2017-06-27 12:02:00 -0500389 mkdir /data/vendor/nfc 0770 nfc nfc
390
Ruchi Kandoi776c7b62018-03-08 12:49:27 -0800391 # Secure Element directory for loader service functionality
392 mkdir /data/vendor/secure_element 0770 secure_element secure_element
393
KevinWWHoaece9a12018-01-02 11:52:59 +0800394 # Create /data/time folder for time-services
395 mkdir /data/time/ 0700 system system
396
Wei Wangfbf24e52018-01-04 22:30:07 -0800397 # Setup permission for powerHAL
398 chown system system /dev/stune/top-app/schedtune.boost
399 chown system system /dev/cpu_dma_latency
400 chown system system /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
401 chown system system /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
402 chown system system /sys/class/devfreq/soc:qcom,gpubw/min_freq
Wei Wanga69411c2018-01-23 10:40:03 -0800403 chown system system /sys/class/devfreq/soc:qcom,cpubw/min_freq
Wei Wangfbf24e52018-01-04 22:30:07 -0800404
Chris Friesdc2b50d2017-06-27 12:02:00 -0500405on early-boot
406 # wait for devices
Wei Wang90f3d652018-03-15 13:35:37 -0700407 wait_for_prop vendor.qcom.devup 1
Chris Friesdc2b50d2017-06-27 12:02:00 -0500408
Wei Wangf54009f2018-03-16 13:29:08 -0700409 # wait for insmod_sh to finish all modules
410 wait_for_prop vendor.all.modules.ready 1
411
David Lin5de1faa2018-02-23 16:39:14 -0800412 write /sys/kernel/boot_adsp/boot 1
413
Wei Wang90f3d652018-03-15 13:35:37 -0700414 # Start CHRE which need SLPI completed in vendor.qcom.devup
Chris Friesdc2b50d2017-06-27 12:02:00 -0500415 start chre
416
Chris Friesdc2b50d2017-06-27 12:02:00 -0500417 # Update dm-verity state and set partition.*.verified properties
418 verity_update_state
419
Xu Han52588a12017-11-06 10:09:03 -0800420 # Permission for rainbow sensor
Xu Hanc1bf5042018-03-05 15:31:08 -0800421 chown cameraserver camera /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable
422 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_enable
423 chown cameraserver camera /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte
424 chmod 0660 /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_read_byte
425 chown cameraserver camera /sys/devices/platform/soc/ac4a000.qcom,cci/ac4a000.qcom,cci:qcom,rainbow@20/rainbow_write_byte
426 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 -0700427 chown cameraserver camera /dev/vd6281
428 chmod 0660 /dev/vd6281
Chris Friesdc2b50d2017-06-27 12:02:00 -0500429
430 # Permission for Vibrator
David Linc2521e22018-03-06 19:58:13 -0800431 chown system system /sys/class/leds/vibrator/device/cp_trigger_index
David Lin8c3b3012018-03-20 16:28:15 -0700432 chown system system /sys/class/leds/vibrator/device/dig_scale
David Lin90af3c72018-03-21 16:18:25 -0700433 chown system system /sys/class/leds/vibrator/device/f0_stored
434 chown system system /sys/class/leds/vibrator/device/redc_stored
Chris Friesdc2b50d2017-06-27 12:02:00 -0500435
436 # Permission for LED driver
437 chown system system /sys/class/leds/red/on_off_ms
438 chown system system /sys/class/leds/green/on_off_ms
439 chown system system /sys/class/leds/blue/on_off_ms
440 chown system system /sys/class/leds/red/rgb_start
441 chown system system /sys/class/leds/green/rgb_start
442 chown system system /sys/class/leds/blue/rgb_start
Chris Friesa9094da2017-07-18 11:16:46 -0500443 chown system system /sys/class/backlight/panel0-backlight/brightness
Chris Friesdc2b50d2017-06-27 12:02:00 -0500444 chown system system /sys/class/graphics/fb0/msm_fb_persist_mode
445
446on boot
447 mkdir /dev/socket/qmux_radio 0770 radio radio
448 chmod 2770 /dev/socket/qmux_radio
449 mkdir /dev/socket/qmux_audio 0770 media audio
450 chmod 2770 /dev/socket/qmux_audio
451 mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
452 chmod 2770 /dev/socket/qmux_bluetooth
453 mkdir /dev/socket/qmux_gps 0770 gps gps
454 chmod 2770 /dev/socket/qmux_gps
455
456 # Create NETMGR daemon socket area
457 mkdir /dev/socket/netmgr 0750 radio radio
458
459 setprop wifi.interface wlan0
460
Chris Friesdc2b50d2017-06-27 12:02:00 -0500461 # Assign TCP buffer thresholds to be ceiling value of technology maximums
462 # Increased technology maximums should be reflected here.
463 write /proc/sys/net/core/rmem_max 8388608
464
465 # Update DVR cpusets to boot-time values.
Wei Wang5d1e47c2018-03-09 14:40:33 -0800466 write /dev/cpuset/kernel/cpus 0-7
467 write /dev/cpuset/system/cpus 0-7
468 write /dev/cpuset/system/performance/cpus 0-7
469 write /dev/cpuset/system/background/cpus 0-7
470 write /dev/cpuset/system/cpus 0-7
471 write /dev/cpuset/application/cpus 0-7
472 write /dev/cpuset/application/performance/cpus 0-7
473 write /dev/cpuset/application/background/cpus 0-7
474 write /dev/cpuset/application/cpus 0-7
Chris Friesdc2b50d2017-06-27 12:02:00 -0500475
476 # Bluetooth
477 chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
478 chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
479 chmod 0660 /sys/class/rfkill/rfkill0/state
480 chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
481 chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
482
483 # Wifi firmware reload path
484 chown wifi wifi /sys/module/wlan/parameters/fwpath
485
Chris Friesdc2b50d2017-06-27 12:02:00 -0500486 # default country code
487 setprop ro.boot.wificountrycode 00
488
Maggie White518d1872018-03-14 19:08:18 -0700489 # WLAN debug access
490 chown system system /d/icnss/stats
491
Chris Friesdc2b50d2017-06-27 12:02:00 -0500492service init-radio-sh /vendor/bin/init.radio.sh
493 class late_start
494 user radio
495 group root radio
496 oneshot
497
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900498service vendor.thermal-engine /vendor/bin/thermal-engine -c ${vendor.sys.qcom.thermalcfg}
Chris Friesdc2b50d2017-06-27 12:02:00 -0500499 class main
500 user root
501 group root system
502 socket thermal-send-client stream 0666 system system
503 socket thermal-recv-client stream 0660 system system
504 socket thermal-recv-passive-client stream 0666 system system
505
Shawn Yang286d4702018-03-20 16:28:12 -0700506on property:persist.vendor.sys.ssr.restart_level=*
Shawn Yange0ba3f42017-11-21 18:46:53 -0800507 start vendor.ssr_setup
Chris Friesdc2b50d2017-06-27 12:02:00 -0500508
Shawn Yange0ba3f42017-11-21 18:46:53 -0800509service vendor.ssr_setup /vendor/bin/ssr_setup
Chris Friesdc2b50d2017-06-27 12:02:00 -0500510 oneshot
511 disabled
512
Shawn Yange0ba3f42017-11-21 18:46:53 -0800513service vendor.ssr_diag /vendor/bin/ssr_diag
Chris Friesdc2b50d2017-06-27 12:02:00 -0500514 class late_start
515 user system
516 group system
517 disabled
518
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900519service vendor.per_mgr /vendor/bin/pm-service
Chris Friesdc2b50d2017-06-27 12:02:00 -0500520 class core
521 user system
522 group system
523 ioprio rt 4
524
525service per_proxy /vendor/bin/pm-proxy
526 class core
527 user system
528 group system
529 disabled
530
531on property:sys.boot_completed=1
Wei Wange828bc62017-12-31 22:14:16 -0800532 # Enable UFS powersaving
Wei Wang90f3d652018-03-15 13:35:37 -0700533 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkscale_enable 1
534 write /sys/devices/platform/soc/${ro.boot.bootdevice}/clkgate_enable 1
535 write /sys/devices/platform/soc/${ro.boot.bootdevice}/hibern8_on_idle_enable 1
Wei Wange828bc62017-12-31 22:14:16 -0800536
Chris Friesdc2b50d2017-06-27 12:02:00 -0500537 # Enable ZRAM on boot_complete
Oleg Matcovschib32aa0f2017-10-23 15:15:16 -0500538 swapon_all /vendor/etc/fstab.${ro.boot.hardware.platform}
Chris Friesdc2b50d2017-06-27 12:02:00 -0500539
540 # Setup final cpuset
541 write /dev/cpuset/top-app/cpus 0-7
542 write /dev/cpuset/foreground/boost/cpus 0-3,6-7
543 write /dev/cpuset/foreground/cpus 0-3,6-7
544 write /dev/cpuset/background/cpus 0-1
545 write /dev/cpuset/system-background/cpus 0-3
546
547 # Update DVR cpusets to runtime values.
Wei Wang5d1e47c2018-03-09 14:40:33 -0800548 # Kernel cpuset will be apply on PowerHAL
549 write /dev/cpuset/system/performance/cpus 6-7
550 write /dev/cpuset/system/background/cpus 0-1
551 write /dev/cpuset/system/cpus 0-1,6-7
552 write /dev/cpuset/application/performance/cpus 4-5
553 write /dev/cpuset/application/background/cpus 0-1
554 write /dev/cpuset/application/cpus 0-1,4-5
Chris Friesdc2b50d2017-06-27 12:02:00 -0500555
Wei Wang1185da12018-02-26 19:18:34 -0800556 # Run time fs tune
557 write /sys/block/sda/queue/read_ahead_kb 1024
558 write /sys/block/sda/queue/nr_requests 128
559 write /sys/block/sda/queue/iostats 1
560 write /sys/block/sdf/queue/read_ahead_kb 1024
561 write /sys/block/sdf/queue/nr_requests 128
562 write /sys/block/sdf/queue/iostats 1
563 write /sys/block/dm-0/queue/read_ahead_kb 512
564 write /sys/block/dm-1/queue/read_ahead_kb 512
565 write /sys/block/sda/queue/scheduler deadline
566 write /sys/block/sdf/queue/scheduler deadline
567
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900568on property:init.svc.vendor.per_mgr=running
Chris Friesdc2b50d2017-06-27 12:02:00 -0500569 start per_proxy
570
571on property:sys.shutdown.requested=*
572 stop per_proxy
573
574service qseecomd /vendor/bin/qseecomd
575 class core
576 user root
577 group root
578
579service time_daemon /vendor/bin/time_daemon
580 class core
581 user root
582 group root
583
584service ss_ramdump /vendor/bin/subsystem_ramdump
585 class main
586 user root
Shawn Yang5af01772018-02-24 17:36:33 -0800587 group system
Chris Friesdc2b50d2017-06-27 12:02:00 -0500588 disabled
589
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900590on property:persist.vendor.sys.ssr.enable_ramdumps=1
Chris Friesdc2b50d2017-06-27 12:02:00 -0500591 write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
Ecco Park03c6d8a2018-02-26 14:56:04 -0800592 mkdir /data/vendor/wifidump 771 root system
Petri Gynthera14b5262018-01-23 16:55:00 -0800593 mkdir /data/vendor/ramdump 771 root system
594 mkdir /data/vendor/ssrdump 771 root system
Shawn Yang5af01772018-02-24 17:36:33 -0800595 mkdir /data/vendor/ssrlog 771 root system
Chris Friesdc2b50d2017-06-27 12:02:00 -0500596 start ss_ramdump
597
Jaekyun Seokb809e8c2018-03-12 10:42:44 +0900598on property:persist.vendor.sys.ssr.enable_ramdumps=0
Chris Friesdc2b50d2017-06-27 12:02:00 -0500599 write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
600
Daniel Mentzb4e889d2018-03-09 12:03:53 -0800601service sensors.qti /vendor/bin/sensors.qti
602 class core
603 user root
604 group root
605
606service sensors /vendor/bin/sscrpcd
Chris Friesdc2b50d2017-06-27 12:02:00 -0500607 class core
Andrew Lehmer464f7ab2018-02-20 15:44:07 -0800608 user root
609 group root
Chris Friesdc2b50d2017-06-27 12:02:00 -0500610
611service adsprpcd /vendor/bin/adsprpcd
612 class main
613 user media
614 group media
615
616service irsc_util /vendor/bin/irsc_util "/vendor/etc/sec_config"
617 class core
618 user root
619 oneshot
620
621service rmt_storage /vendor/bin/rmt_storage
622 class core
623 user root
624
625service tftp_server /vendor/bin/tftp_server
626 class core
627 user root
628 group root system
629
630service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
Jeff Vander Stoepd25aa402018-01-24 08:57:13 -0800631 -O/data/vendor/wifi/wpa/sockets -puse_p2p_group_interface=1 -dd \
Jeff Vander Stoepd8283bc2017-11-30 11:02:28 -0800632 -g@android:wpa_wlan0
Chris Friesdc2b50d2017-06-27 12:02:00 -0500633 # we will start as root and wpa_supplicant will switch to user wifi
634 # after setting up the capabilities required for WEXT
635 # user wifi
636 # group wifi inet keystore
Roshan Pius6beae4e2018-02-05 16:21:46 -0800637 interface android.hardware.wifi.supplicant@1.0::ISupplicant default
638 interface android.hardware.wifi.supplicant@1.1::ISupplicant default
Chris Friesdc2b50d2017-06-27 12:02:00 -0500639 class main
640 socket wpa_wlan0 dgram 660 wifi wifi
641 disabled
642 oneshot
643
644service cnss-daemon /vendor/bin/cnss-daemon -n -l
645 class late_start
646 user system
647 group system inet wifi
648
649service imsqmidaemon /vendor/bin/imsqmidaemon
650 class main
651 user system
652 socket ims_qmid stream 0660 system radio
653 group radio log diag
654
655service imsdatadaemon /vendor/bin/imsdatadaemon
656 class main
657 user system
658 socket ims_datad stream 0660 system radio
659 group system wifi radio inet log
660 disabled
661
Jayachandran C5e2ce412018-01-02 18:30:31 -0800662on property:vendor.ims.QMI_DAEMON_STATUS=1
Chris Friesdc2b50d2017-06-27 12:02:00 -0500663 start imsdatadaemon
664
665service ims_rtp_daemon /vendor/bin/ims_rtp_daemon
666 class main
667 user system
668 group radio diag inet log
669 disabled
670
Jayachandran C5e2ce412018-01-02 18:30:31 -0800671service imsrcsservice /vendor/bin/imsrcsd
Chris Friesdc2b50d2017-06-27 12:02:00 -0500672 class main
673 user system
674 group radio diag inet log
675 disabled
676
Jayachandran C5e2ce412018-01-02 18:30:31 -0800677on property:vendor.ims.DATA_DAEMON_STATUS=1
Chris Friesdc2b50d2017-06-27 12:02:00 -0500678 start ims_rtp_daemon
Chris Friesdc2b50d2017-06-27 12:02:00 -0500679 start imsrcsservice
680
681service qmuxd /vendor/bin/qmuxd
682 class main
683 user root
684 group radio audio bluetooth gps nfc qcom_diag
685
686service cnd /vendor/bin/cnd
687 class main
Joel Galensonb716ec32018-02-26 14:40:47 -0800688 group system
Chris Friesdc2b50d2017-06-27 12:02:00 -0500689 socket cnd stream 660 root inet
690
691service netmgrd /vendor/bin/netmgrd
692 class main
693 user root
694 group root wifi wakelock radio inet
695
696service port-bridge /vendor/bin/port-bridge
697 class main
698 user radio
699 group radio system inet
700 oneshot
701
702service ipacm /vendor/bin/ipacm
703 class main
704 user radio
705 group radio inet
706
707service qti /vendor/bin/qti
708 class main
709 user radio
710 group radio net_raw diag usb net_admin
711
712on property:wc_transport.start_hci=true
713 start hci_filter
714
715on property:wc_transport.start_hci=false
716 stop hci_filter
717
718service hci_filter /vendor/bin/wcnss_filter
719 class late_start
720 user bluetooth
721 group bluetooth diag
722 disabled
723
724service loc_launcher /vendor/bin/loc_launcher
725 class late_start
726 group gps inet diag wifi
727
728service pd_mapper /vendor/bin/pd-mapper
729 class core
730
731# bugreport is triggered by holding down volume down, volume up and power
732service bugreport /system/bin/dumpstate -d -p -B -z \
733 -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
734 class main
735 disabled
736 oneshot
737 keycodes 114 115 116
738
Brian Duddie28fc8a82017-10-26 16:27:30 -0700739service vendor.chre /vendor/bin/chre
Chris Friesdc2b50d2017-06-27 12:02:00 -0500740 class late_start
Brian Duddie28fc8a82017-10-26 16:27:30 -0700741 user system
742 group system
Chris Friesdc2b50d2017-06-27 12:02:00 -0500743 socket chre seqpacket 0660 root system
Brian Duddie28fc8a82017-10-26 16:27:30 -0700744 shutdown critical
Chris Friesdc2b50d2017-06-27 12:02:00 -0500745
Chris Friesdc2b50d2017-06-27 12:02:00 -0500746service devstart_sh /vendor/bin/init.qcom.devstart.sh
747 class main
748 user root
749 group root system
750 disabled
751 oneshot
752
Ecco Park03c6d8a2018-02-26 14:56:04 -0800753service vendor.wlan_sh /vendor/bin/init.qcom.wlan.sh
754 class main
755 user root
756 group root
757 disabled
758 oneshot
759
Chris Friesdc2b50d2017-06-27 12:02:00 -0500760service ipastart_sh /vendor/bin/init.qcom.ipastart.sh
761 class main
762 user system
763 group net_admin
764 disabled
765 oneshot
766
767service insmod_sh /vendor/bin/init.insmod.sh
768 class main
769 user root
770 group root system
771 disabled
772 oneshot
Mark Salyzyn4371f922018-01-16 09:50:05 -0800773
774# b/70518189 vDSO experiments
775on property:sys.vdso=*
776 write /sys/module/vdso/parameters/enable_32 1
777 write /sys/module/vdso/parameters/enable_64 1
778
779on property:sys.vdso=false
780 write /sys/module/vdso/parameters/enable_32 0
781 write /sys/module/vdso/parameters/enable_64 0
782
783on property:sys.vdso=64
784 write /sys/module/vdso/parameters/enable_32 0
785
786on property:sys.vdso=32
787 write /sys/module/vdso/parameters/enable_64 0
Ecco Park0e37dfa2018-03-26 13:27:05 -0700788
789on property:wlan.driver.status=ok
790 # Get the wlan driver/fw version
791 start vendor.wlan_sh