blob: b2eea2a634feac125cafe8cddda4235de12ac7fe [file] [log] [blame]
Thierry Strudelb4d838b2016-04-08 12:54:52 -07001on charger
2write /sys/devices/system/cpu/cpu2/online 0
3write /sys/devices/system/cpu/cpu3/online 0
4write /sys/module/lpm_levels/parameters/sleep_disabled 0
Sandeep Patil9ddfac02017-02-14 16:02:58 -08005wait /dev/block/platform/soc/624000.ufshc
Thierry Strudelb4d838b2016-04-08 12:54:52 -07006
7service charger /charger
8class charger
Sandeep Patil0c01d7b2016-11-01 14:18:02 -07009seclabel u:r:charger:s0
Thierry Strudelb4d838b2016-04-08 12:54:52 -070010
David Ng0891f7c2013-04-08 13:00:17 -070011on early-init
Nick Kralevich11ea1492017-01-23 20:27:04 +000012mount debugfs debugfs /sys/kernel/debug
13chmod 0755 /sys/kernel/debug
David Ng0891f7c2013-04-08 13:00:17 -070014
Thierry Strudelb4d838b2016-04-08 12:54:52 -070015on init
Wei Wangf4a86d52017-03-09 15:46:35 -080016# We have vendor/ as early mount so we can start qseecomd earlier
17# early mount partions e.g. vendor/ will be mounted in init first stage
18# see b/27805372
19start qseecomd
20
Thierry Strudelb4d838b2016-04-08 12:54:52 -070021# Support legacy paths
22symlink /sdcard /mnt/sdcard
23symlink /sdcard /storage/sdcard0
Sanket Khidkikar9f677992015-07-22 18:24:20 -070024
Alex Vakulenko1cc612c2017-01-23 14:26:59 -080025# Setup cpusets used by the VR services.
26mkdir /dev/cpuset/kernel 0750 root system
27write /dev/cpuset/kernel/cpus 0
28write /dev/cpuset/kernel/mems 0
29chown system system /dev/cpuset/kernel/tasks
30chmod 0660 /dev/cpuset/kernel/tasks
31
32mkdir /dev/cpuset/system 0750 root system
33write /dev/cpuset/system/cpus 0
34write /dev/cpuset/system/mems 0
35chown system system /dev/cpuset/system/tasks
36chmod 0660 /dev/cpuset/system/tasks
37
38mkdir /dev/cpuset/system/performance 0750 root system
39write /dev/cpuset/system/performance/cpus 0
40write /dev/cpuset/system/performance/mems 0
41chown system system /dev/cpuset/system/performance/tasks
42chmod 0660 /dev/cpuset/system/performance/tasks
43
44mkdir /dev/cpuset/system/background 0750 root system
45write /dev/cpuset/system/background/cpus 0
46write /dev/cpuset/system/background/mems 0
47chown system system /dev/cpuset/system/background/tasks
48chmod 0660 /dev/cpuset/system/background/tasks
49
50mkdir /dev/cpuset/application 0750 root system
51write /dev/cpuset/application/cpus 0
52write /dev/cpuset/application/mems 0
53chown system system /dev/cpuset/application/tasks
54chmod 0660 /dev/cpuset/application/tasks
55
56mkdir /dev/cpuset/application/performance 0750 root system
57write /dev/cpuset/application/performance/cpus 0
58write /dev/cpuset/application/performance/mems 0
59chown system system /dev/cpuset/application/performance/tasks
60chmod 0660 /dev/cpuset/application/performance/tasks
61
62mkdir /dev/cpuset/application/background 0750 root system
63write /dev/cpuset/application/background/cpus 0
64write /dev/cpuset/application/background/mems 0
65chown system system /dev/cpuset/application/background/tasks
66chmod 0660 /dev/cpuset/application/background/tasks
67
Wei Wang5627a682017-01-19 14:16:27 -080068# update cpusets now that processors are up
69write /dev/cpuset/top-app/cpus 0-3
70write /dev/cpuset/foreground/cpus 0-3
71write /dev/cpuset/foreground/boost/cpus 0-3
72write /dev/cpuset/background/cpus 0-3
73write /dev/cpuset/system-background/cpus 0-3
74# set default schedTune value for foreground/top-app (only affects EAS)
75write /dev/stune/foreground/schedtune.prefer_idle 1
76write /dev/stune/top-app/schedtune.boost 10
77write /dev/stune/top-app/schedtune.prefer_idle 1
78
Alex Vakulenko1cc612c2017-01-23 14:26:59 -080079# Create UDS structure for base VR services.
80mkdir /dev/socket/pdx 0775 system system
81mkdir /dev/socket/pdx/system 0775 system system
82mkdir /dev/socket/pdx/system/buffer_hub 0775 system system
83mkdir /dev/socket/pdx/system/performance 0775 system system
84mkdir /dev/socket/pdx/system/vr 0775 system system
85mkdir /dev/socket/pdx/system/vr/display 0775 system system
86mkdir /dev/socket/pdx/system/vr/pose 0775 system system
87mkdir /dev/socket/pdx/system/vr/sensors 0775 system system
88
David Ng0891f7c2013-04-08 13:00:17 -070089on fs
Woody Line37f6c72016-02-26 03:22:25 +080090wait /dev/block/platform/soc/${ro.boot.bootdevice}
91symlink /dev/block/platform/soc/${ro.boot.bootdevice} /dev/block/bootdevice
92
Tao Baod0377102017-03-22 06:51:23 -070093mount_all fstab.${ro.hardware} --early
94swapon_all fstab.${ro.hardware}
David Ng0891f7c2013-04-08 13:00:17 -070095
96# Keeping following partitions outside fstab file. As user may not have
97# these partition flashed on the device. Failure to mount any partition in fstab file
98# results in failure to launch late-start class.
99
Sandeep Patil9ddfac02017-02-14 16:02:58 -0800100wait /dev/block/platform/soc/624000.ufshc/sda18
101mount ext4 /dev/block/platform/soc/624000.ufshc/by-name/cache /cache nosuid nodev noatime barrier=1
David Ng0891f7c2013-04-08 13:00:17 -0700102
Sandeep Patil9ddfac02017-02-14 16:02:58 -0800103wait /dev/block/platform/soc/624000.ufshc/sda8
104mount ext4 /dev/block/platform/soc/624000.ufshc/by-name/persist /persist nosuid nodev noatime barrier=1
Biswajit Pauld3053312015-07-14 12:38:27 -0700105restorecon_recursive /persist
106mkdir /persist/data 0700 system system
David Ng0891f7c2013-04-08 13:00:17 -0700107
Wei Wang5f26b6b2017-03-21 16:03:04 -0700108# Start HW service manager early
109start hwservicemanager
110
Wei Wangd1847662016-09-09 10:45:07 -0700111on post-fs
112symlink /dev/block/platform/soc.0/f9824900.sdhci /dev/block/bootdevice
Wei Wangf4a86d52017-03-09 15:46:35 -0800113
Wei Wang1b7413b2017-03-27 18:11:26 +0000114# This section will be executed after all post-fs sections are done
115on post-fs && property:ro.hardware=*
Wei Wangf4a86d52017-03-09 15:46:35 -0800116# Wait qseecomd started
Wei Wang8b5bfb82017-02-02 10:48:39 -0800117wait_for_prop sys.listeners.registered true
Wei Wang1b7413b2017-03-27 18:11:26 +0000118
119on late-fs
Wei Wangffd18de2017-01-20 14:16:02 -0800120# Start devices by sysfs trigger
121start devstart_sh
Wei Wangd1847662016-09-09 10:45:07 -0700122
Wei Wang0e517b22017-01-27 11:19:52 -0800123# Start services for bootanim
Wei Wang7d447f82016-08-08 11:09:27 -0700124start servicemanager
Alex Vakulenko1cc612c2017-01-23 14:26:59 -0800125start vr_wm
Wei Wang0e517b22017-01-27 11:19:52 -0800126start surfaceflinger
127start bootanim
Wei Wang5f26b6b2017-03-21 16:03:04 -0700128start hwcomposer-2-1
129start configstore-hal-1-0
130start gralloc-2-0
Wei Wang0c53ee02016-11-07 13:49:01 -0800131
Wei Wang5f26b6b2017-03-21 16:03:04 -0700132# Mount RW partitions which need run fsck
Tao Baod0377102017-03-22 06:51:23 -0700133mount_all fstab.${ro.hardware} --late
Wei Wang7d447f82016-08-08 11:09:27 -0700134
Wei Wang11f31082016-11-02 22:50:28 -0700135# boot time fs tune
Wei Wang0c53ee02016-11-07 13:49:01 -0800136write /sys/block/sda/queue/iostats 0
Wei Wang11f31082016-11-02 22:50:28 -0700137write /sys/block/sda/queue/scheduler cfq
138write /sys/block/sda/queue/iosched/slice_idle 0
Wei Wang11f31082016-11-02 22:50:28 -0700139write /sys/block/sda/queue/read_ahead_kb 2048
140write /sys/block/sda/queue/nr_requests 256
141write /sys/block/dm-0/queue/read_ahead_kb 2048
Wei Wang11f31082016-11-02 22:50:28 -0700142write /sys/block/dm-1/queue/read_ahead_kb 2048
Wei Wang11f31082016-11-02 22:50:28 -0700143
David Ng0891f7c2013-04-08 13:00:17 -0700144on post-fs-data
Wei Wangf4a86d52017-03-09 15:46:35 -0800145# We can start netd here before in is launched in common init.rc on zygote-start
Keun-young Park7f9df402017-01-27 11:17:30 -0800146start netd
Wei Wangffd18de2017-01-20 14:16:02 -0800147# Set sku property
148start mid_sh
149# Restart qseecomd once we have /data/
Wei Wangd1847662016-09-09 10:45:07 -0700150restart qseecomd
Wei Wang8a042fe2017-02-13 10:23:02 -0800151
152# zygote need to be started after otapreopt which will be done on post-fs-data
Wei Wang75e39252017-03-08 12:43:32 -0800153on zygote-start
Wei Wangf4a86d52017-03-09 15:46:35 -0800154# zygote is started in common init.rc
155# and now we can continue initialize /data/
David Ng0891f7c2013-04-08 13:00:17 -0700156mkdir /data/tombstones 0771 system system
157mkdir /tombstones/modem 0771 system system
158mkdir /tombstones/lpass 0771 system system
159mkdir /tombstones/wcnss 0771 system system
160mkdir /tombstones/dsps 0771 system system
Mallikarjuna Reddy Amireddy466e40d2015-02-02 21:21:39 +0530161mkdir /persist/data/sfs 0700 system system
162mkdir /persist/data/tz 0700 system system
Alexy Josephb5d863f2015-04-03 16:50:44 -0700163mkdir /data/misc/dts 0770 media audio
Kineret Bergeraa0bdc72015-06-24 23:14:39 +0300164mkdir /data/misc/tloc/ 0700 system drmrpc
Avijit Kanti Das80dbde72015-07-16 11:29:15 -0700165mkdir /data/misc/qvop 0660 system system
Dhananjay Kumarf1eb0112015-09-11 19:14:34 +0530166mkdir /data/misc/audio_pp 0771 media audio
Fyodor Kupolov680ae802016-07-22 12:20:40 -0700167mkdir /data/preloads 0775 system system
Fyodor Kupolov645ceec2017-03-14 11:45:30 -0700168mkdir /data/preloads/media 0775 system system
169mkdir /data/preloads/demo 0775 system system
Rukun Maoeba4eca2017-02-07 20:48:47 -0800170mkdir /data/misc/netmgr 0770 system radio
David Ng0891f7c2013-04-08 13:00:17 -0700171
Naveen Ramaraj2df627a2016-08-03 17:27:41 -0700172# Disable verbosity for sensorhub
173write /d/sps/debug_level_option 4
174write /d/sps/log_level_sel 4
175# Write to the base address of BAM pipe
176write /d/sps/bam_addr 122961920
177
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700178# Create directory for TZ Apps
179mkdir /data/misc/qsee 0770 system system
180
181#Create folder for mm-qcamera-daemon
182mkdir /data/misc/camera 0770 camera camera
183
184mkdir /data/media 0770 media_rw media_rw
185chown media_rw media_rw /data/media
186
187mkdir /data/misc/ipa 0700 net_admin net_admin
188
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700189# Create the directories used by the Wireless subsystem
190mkdir /data/misc/wifi 0770 wifi wifi
191mkdir /data/misc/wifi/sockets 0770 wifi wifi
192mkdir /data/misc/wifi/wpa_supplicant 0770 wifi wifi
193mkdir /data/misc/dhcp 0770 dhcp dhcp
194chown dhcp dhcp /data/misc/dhcp
195
196# Create port-bridge log dir
197mkdir /data/misc/port_bridge 0770 radio radio
198chmod 0770 /data/misc/port_bridge
199
200# Create the directories used by CnE subsystem
201mkdir /data/connectivity 0771 system system
202chown system system /data/connectivity
203
204# Create the directories used by DPM subsystem
205mkdir /data/dpm 0771 system system
206chown system system /data/dpm
207
208mkdir /data/dpm/nsrm 0771 system system
209chown system system /data/dpm/nsrm
210
211# Create directory used by audio subsystem
212mkdir /data/misc/audio 0770 audio audio
213
214# Create directory for audio delta files
215mkdir /data/misc/audio/acdbdata 0770 media audio
216mkdir /data/misc/audio/acdbdata/delta 0770 media audio
217
218# Create directory used by the DASH client
219mkdir /data/misc/dash 0770 media audio
220
221# Create directory used by display clients
222mkdir /data/misc/display 0770 system graphics
Marvin Tsaib1f83182016-04-06 18:00:32 +0800223mkdir /persist/display 0770 system graphics
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700224
225# Mounting of persist is moved to 'on emmc-fs' and 'on fs' sections
226# We chown/chmod /persist again so because mount is run as root + defaults
227chown system system /persist
228chmod 0771 /persist
229chmod 0664 /sys/devices/platform/msm_sdcc.1/polling
230chmod 0664 /sys/devices/platform/msm_sdcc.2/polling
231chmod 0664 /sys/devices/platform/msm_sdcc.3/polling
232chmod 0664 /sys/devices/platform/msm_sdcc.4/polling
233
234# Chown polling nodes as needed from UI running on system server
235chown system system /sys/devices/platform/msm_sdcc.1/polling
236chown system system /sys/devices/platform/msm_sdcc.2/polling
237chown system system /sys/devices/platform/msm_sdcc.3/polling
238chown system system /sys/devices/platform/msm_sdcc.4/polling
239
240# Create the symlink to qcn wpa_supplicant folder for ar6000 wpa_supplicant
241mkdir /data/system 0775 system system
242
243# Create directories for Location services
244mkdir /data/misc/location 0770 gps gps
245mkdir /data/misc/location/mq 0770 gps gps
246mkdir /data/misc/location/xtwifi 0770 gps gps
247mkdir /data/misc/location/gpsone_d 0770 system gps
248mkdir /data/misc/location/quipc 0770 gps system
249mkdir /data/misc/location/gsiff 0770 gps gps
250
251# Create directory from IMS services
252mkdir /data/shared 0755
253chown system system /data/shared
254
255# Create directory for FOTA
256mkdir /data/fota 0771
257chown system system /data/fota
258
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700259# Create /data/time folder for time-services
260mkdir /data/time/ 0700 system system
261
262mkdir /data/audio/ 0770 media audio
263
264# Create a folder for audio delta files
265mkdir /data/audio/acdbdata 0770 media audio
266mkdir /data/audio/acdbdata/delta 0770 media audio
267
268setprop vold.post_fs_data_done 1
269
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700270# Create FM dir for downloader
271mkdir /data/misc/fm 0770 system system
272chmod 0770 /data/misc/fm
273
274# RIDL data
275mkdir /data/misc/SelfHost/ 0710 system shell
276mkdir /data/misc/SelfHost/QCLogs/ 2750 system shell
277mkdir /data/misc/SelfHost/QCLogs/temp/ 0700 system shell
278mkdir /data/misc/SelfHost/storage/ 0700 system shell
279mkdir /data/misc/SelfHost/Running/ 2750 system shell
280mkdir /data/misc/SelfHost/socket/ 2770 system system
281
282# Create PERFD deamon related dirs
283setprop ro.min_freq_0 384000
284mkdir /data/misc/perfd 0755 root system
285chmod 2755 /data/misc/perfd
286mkdir /data/system/perfd 0770 root system
287rm /data/system/perfd/default_values
288chmod 2770 /data/system/perfd
289
290# NFC local data and nfcee xml storage
291mkdir /data/nfc 0770 nfc nfc
292mkdir /data/nfc/param 0770 nfc nfc
293
294# Create IOP deamon related dirs
295mkdir /data/misc/iop 0770 root system
296
297# Mark the copy complete flag to not completed
298write /data/misc/radio/copy_complete 0
299chown radio radio /data/misc/radio/copy_complete
300chmod 0660 /data/misc/radio/copy_complete
301
302# File flags for prebuilt ril db file
303write /data/misc/radio/prebuilt_db_support 1
304chown radio radio /data/misc/radio/prebuilt_db_support
305chmod 0400 /data/misc/radio/prebuilt_db_support
306write /data/misc/radio/db_check_done 0
307chown radio radio /data/misc/radio/db_check_done
308chmod 0660 /data/misc/radio/db_check_done
309
Srinath Sridharan788621c2016-07-28 17:30:11 -0700310chown system system /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
311chmod 0660 /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
312chown system system /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
313chmod 0660 /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
314chown system system /sys/class/devfreq/soc:qcom,gpubw/min_freq
315chmod 0660 /sys/class/devfreq/soc:qcom,gpubw/min_freq
316
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700317on early-boot
318# set RLIMIT_MEMLOCK to 64MB
319setrlimit 8 67108864 67108864
320# Allow subsystem (modem etc) debugging
321write /sys/module/subsystem_restart/parameters/enable_debug ${persist.sys.ssr.enable_debug}
322write /sys/module/pil_msa/parameters/pbl_mba_boot_timeout_ms ${persist.sys.mba_boot_timeout}
323write /sys/module/pil_msa/parameters/modem_auth_timeout_ms ${persist.sys.modem_auth_timeout}
324write /sys/module/peripheral_loader/parameters/proxy_timeout_ms ${persist.sys.pil_proxy_timeout}
Sami Tolvanen483ba582016-06-17 17:26:42 -0700325# Update dm-verity state and set partition.*.verified properties
326verity_update_state
Wei Wang8b5bfb82017-02-02 10:48:39 -0800327# wait for devices
328wait_for_prop sys.qcom.devup 1
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700329
David Ng0891f7c2013-04-08 13:00:17 -0700330on boot
Wei Wangffd18de2017-01-20 14:16:02 -0800331# Exec init.mid.sh and init.foreground.sh in background
332start power_sh
333start foreground_sh
Tim Murray137b3822016-06-24 10:19:18 -0700334# add a cpuset for the camera daemon
335# we want all cores for camera
336mkdir /dev/cpuset/camera-daemon
337write /dev/cpuset/camera-daemon/cpus 0-3
338write /dev/cpuset/camera-daemon/mems 0
339chown system system /dev/cpuset/camera-daemon
340chown system system /dev/cpuset/camera-daemon/tasks
341chmod 0664 /dev/cpuset/camera-daemon/tasks
342
Alex Vakulenko1cc612c2017-01-23 14:26:59 -0800343# Update DVR cpusets to boot-time values.
344write /dev/cpuset/kernel/cpus 0-3
345write /dev/cpuset/system/cpus 0-3
346write /dev/cpuset/system/performance/cpus 0-3
347write /dev/cpuset/system/background/cpus 0-3
348write /dev/cpuset/system/cpus 0-3
349write /dev/cpuset/application/cpus 0-3
350write /dev/cpuset/application/performance/cpus 0-3
351write /dev/cpuset/application/background/cpus 0-3
352write /dev/cpuset/application/cpus 0-3
353
Steve Pfetscha78cad82016-02-23 19:31:30 -0800354# Bluetooth
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700355chown bluetooth bluetooth /sys/module/bluetooth_power/parameters/power
Steve Pfetscha78cad82016-02-23 19:31:30 -0800356chown bluetooth net_bt /sys/class/rfkill/rfkill0/type
357chown bluetooth net_bt /sys/class/rfkill/rfkill0/state
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700358chown bluetooth bluetooth /proc/bluetooth/sleep/proto
359chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_lpm
360chown bluetooth bluetooth /sys/module/hci_uart/parameters/ath_btwrite
361chown system system /sys/module/sco/parameters/disable_esco
362chown bluetooth bluetooth /sys/module/hci_smd/parameters/hcismd_set
363chown system system /sys/module/radio_iris_transport/parameters/fmsmd_set
364chmod 0660 /sys/module/bluetooth_power/parameters/power
365chmod 0660 /sys/module/hci_smd/parameters/hcismd_set
366chmod 0660 /sys/module/radio_iris_transport/parameters/fmsmd_set
Steve Pfetscha78cad82016-02-23 19:31:30 -0800367chmod 0660 /sys/class/rfkill/rfkill0/state
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700368chmod 0660 /proc/bluetooth/sleep/proto
Steve Pfetscha78cad82016-02-23 19:31:30 -0800369chown bluetooth net_bt /dev/ttyHS0
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700370chmod 0660 /sys/module/hci_uart/parameters/ath_lpm
371chmod 0660 /sys/module/hci_uart/parameters/ath_btwrite
Steve Pfetscha78cad82016-02-23 19:31:30 -0800372chmod 0660 /dev/ttyHS0
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700373chown bluetooth bluetooth /sys/devices/platform/msm_serial_hs.0/clock
374chmod 0660 /sys/devices/platform/msm_serial_hs.0/clock
375
376chmod 0660 /dev/ttyHS2
377chown bluetooth bluetooth /dev/ttyHS2
378
Steve Pfetscha78cad82016-02-23 19:31:30 -0800379chown bluetooth net_bt /sys/class/rfkill/rfkill0/device/extldo
380chmod 0660 /sys/class/rfkill/rfkill0/device/extldo
381
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700382# access permission for secure touch
Puneet Mishrab1e80542015-06-26 17:38:53 +0100383chmod 0660 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable
384chmod 0440 /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch
Wei Wang0c53ee02016-11-07 13:49:01 -0800385
386chmod 0664 /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en
387chown system graphics /sys/devices/virtual/graphics/fb0/msm_cmd_autorefresh_en
388
Puneet Mishrab1e80542015-06-26 17:38:53 +0100389chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch_enable
390chown system drmrpc /sys/devices/soc/75ba000.i2c/i2c-12/12-004a/secure_touch
Ameya Thakurca4f2cb2013-09-23 12:35:48 -0700391
Zhijun He00b7d4a2016-03-31 21:43:01 -0700392# Permission for laser sensor driver
Zhijun Hef616bf12016-05-19 12:03:26 -0700393chown camera camera /sys/class/htc_laser/laser/enable_ps_sensor
matt_huang4e305b12016-04-08 18:33:42 +0800394# Permission for LED driver
395chown system system /sys/class/leds/red/on_off_ms
396chown system system /sys/class/leds/green/on_off_ms
397chown system system /sys/class/leds/blue/on_off_ms
398chown system system /sys/class/leds/red/rgb_start
399chown system system /sys/class/leds/green/rgb_start
400chown system system /sys/class/leds/blue/rgb_start
Steve Pfetsch59f85752016-06-22 13:05:04 -0700401chown system system /sys/class/leds/lcd-backlight/low_persistence
Zhijun He00b7d4a2016-03-31 21:43:01 -0700402
Michael Wright1ca70b42017-01-31 18:34:15 +0000403# Permission for vibrator amplitude
404chown system system /sys/class/timed_output/vibrator/voltage_level
405
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700406# Create QMUX deamon socket area
407mkdir /dev/socket/qmux_radio 0770 radio radio
408chmod 2770 /dev/socket/qmux_radio
409mkdir /dev/socket/qmux_audio 0770 media audio
410chmod 2770 /dev/socket/qmux_audio
411mkdir /dev/socket/qmux_bluetooth 0770 bluetooth bluetooth
412chmod 2770 /dev/socket/qmux_bluetooth
413mkdir /dev/socket/qmux_gps 0770 gps gps
414chmod 2770 /dev/socket/qmux_gps
415
416mkdir /persist/drm 0770 system system
417
418# Create NETMGR daemon socket area
419mkdir /dev/socket/netmgr 0750 radio radio
420
421setprop wifi.interface wlan0
422
423# Define TCP buffer sizes for various networks
424# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
425setprop net.tcp.buffersize.wifi 524288,2097152,4194304,262144,524288,1048576
426
427setprop ro.telephony.call_ring.multiple false
428
429# Remove SUID bit for iproute2 ip tool
430chmod 0755 /system/bin/ip
431
432chmod 0444 /sys/devices/platform/msm_hsusb/gadget/usb_state
433
434# For bridgemgr daemon to inform the USB driver of the correct transport
435chown radio radio /sys/class/android_usb/f_rmnet_smd_sdio/transport
436
437# For port-bridge daemon
438chown radio radio /dev/at_mdm0
439chown radio radio /dev/at_usb0
440
441# Define TCP buffer sizes for various networks
442# ReadMin, ReadInitial, ReadMax, WriteMin, WriteInitial, WriteMax,
443setprop net.tcp.buffersize.default 4096,87380,524288,4096,16384,110208
444setprop net.tcp.buffersize.lte 2097152,4194304,8388608,262144,524288,1048576
445setprop net.tcp.buffersize.umts 4094,87380,110208,4096,16384,110208
446setprop net.tcp.buffersize.hspa 4094,87380,1220608,4096,16384,1220608
447setprop net.tcp.buffersize.hsupa 4094,87380,1220608,4096,16384,1220608
448setprop net.tcp.buffersize.hsdpa 4094,87380,1220608,4096,16384,1220608
449setprop net.tcp.buffersize.hspap 4094,87380,1220608,4096,16384,1220608
450setprop net.tcp.buffersize.edge 4093,26280,35040,4096,16384,35040
451setprop net.tcp.buffersize.gprs 4092,8760,11680,4096,8760,11680
452setprop net.tcp.buffersize.evdo 4094,87380,524288,4096,16384,262144
453
454setprop net.tcp.2g_init_rwnd 10
455
456# Assign TCP buffer thresholds to be ceiling value of technology maximums
457# Increased technology maximums should be reflected here.
458write /proc/sys/net/core/rmem_max 8388608
459write /proc/sys/net/core/wmem_max 8388608
460
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700461# To prevent out of order acknowledgements from making
462# connection tracking to treat them as not belonging to
463# the connection they belong to.
464# Otherwise, a weird issue happens in which some long
465# connections on high-throughput links get dropped when
466# an ack packet comes out of order
467write /proc/sys/net/netfilter/nf_conntrack_tcp_be_liberal 1
468
469# Allow access for CCID command/response timeout configuration
470chown system system /sys/module/ccid_bridge/parameters/bulk_msg_timeout
471
472# bond0 used by FST Manager
473chown wifi wifi /sys/class/net/bond0/bonding/queue_id
474
475write /proc/sys/net/ipv6/conf/default/accept_ra_defrtr 1
476
477# bluetooth init
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700478setprop ro.qualcomm.bluetooth.opp true
479setprop ro.qualcomm.bluetooth.hfp true
480setprop ro.qualcomm.bluetooth.hsp true
481setprop ro.qualcomm.bluetooth.pbap true
482setprop ro.qualcomm.bluetooth.ftp true
483setprop ro.qualcomm.bluetooth.nap true
484setprop ro.bluetooth.sap true
485setprop ro.bluetooth.dun true
486setprop ro.qualcomm.bluetooth.map true
487setprop ro.bluetooth.hfp.ver 1.6
Steve Pfetscha78cad82016-02-23 19:31:30 -0800488
Roshan Pius554a37f2016-12-08 18:41:47 -0800489# Wifi firmware reload path
490chown wifi wifi /sys/module/wlan/parameters/fwpath
491
Steve Pfetscha78cad82016-02-23 19:31:30 -0800492on property:wc_transport.start_hci=true
493start start_hci_filter
494
495on property:wc_transport.start_hci=false
496stop start_hci_filter
497
Myles Watsona8d04a62017-02-15 11:04:11 -0800498service start_hci_filter /vendor/bin/wcnss_filter
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700499class late_start
500user bluetooth
501group bluetooth diag
502disabled
503
504on property:wc_transport.start_root=true
505start hci_filter_root
506
507on property:wc_transport.start_root=false
508stop hci_filter_root
509
Myles Watsona8d04a62017-02-15 11:04:11 -0800510service hci_filter_root /vendor/bin/wcnss_filter
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700511class late_start
512user bluetooth
513group bluetooth diag system
514disabled
515
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700516service per_mgr /system/bin/pm-service
Ameya Thakurce015092015-02-13 15:18:56 -0800517class core
518user system
Naveen Ramarajbef499f2016-06-20 17:14:06 -0700519group system
Ameya Thakur73e5ce82015-08-07 17:09:37 -0700520ioprio rt 4
Ameya Thakurce015092015-02-13 15:18:56 -0800521
Ameya Thakureae297c2014-11-24 14:46:52 -0800522service per_proxy /system/bin/pm-proxy
523class core
524user system
525group system
526disabled
527
evan_wongb6466342017-01-05 19:21:22 +0800528on property:ro.build.type=userdebug
529write /sys/class/uio/uio1/device/rtel/rtel 1
530
Ameya Thakureae297c2014-11-24 14:46:52 -0800531on property:init.svc.per_mgr=running
532start per_proxy
533
534on property:sys.shutdown.requested=*
535stop per_proxy
536
Yueyao (Nathan) Zhu3224f462016-06-23 17:41:03 -0700537service qseecomd /vendor/bin/qseecomd
AnilKumar Chimataf99a32c2014-10-31 18:39:44 +0530538class core
539user root
540group root
541
Wei Wang4f64afc2017-02-07 14:31:42 -0800542service thermal-engine /vendor/bin/thermal-engine -c ${sys.qcom.thermalcfg:-/vendor/etc/thermal-engine.conf}
Jenhao Chen523a8212016-03-31 07:13:05 +0800543class main
544user root
Jeff Vander Stoep8cc85a82016-05-09 15:04:49 -0700545group root system
Jenhao Chen523a8212016-03-31 07:13:05 +0800546socket thermal-send-client stream 0666 system system
547socket thermal-recv-client stream 0660 system system
548socket thermal-recv-passive-client stream 0666 system system
Shashank Mittal02836142014-04-11 18:00:01 -0700549
Aravind Asame0696aa2014-06-26 19:23:12 -0700550service time_daemon /system/bin/time_daemon
Valeri Atamanioukc8162f62013-10-11 01:34:26 +0300551class late_start
Roman Gezikov0d94c4d2013-12-23 15:53:48 +0200552user root
Aravind Asame0696aa2014-06-26 19:23:12 -0700553group root
Valeri Atamanioukc8162f62013-10-11 01:34:26 +0300554
Sreesudhan Ramakrish Ramkumar776ef0e2015-04-27 19:57:07 -0700555service adsprpcd /system/bin/adsprpcd
556class main
557user media
558group media
559
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700560service imsqmidaemon /system/bin/imsqmidaemon
561class main
562user system
563socket ims_qmid stream 0660 system radio
Sivaram Vempati28807692016-06-29 11:46:43 -0700564group radio log diag
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700565
566service imsdatadaemon /system/bin/imsdatadaemon
567class main
568user system
569socket ims_datad stream 0660 system radio
Sivaram Vempati28807692016-06-29 11:46:43 -0700570group system wifi radio inet log diag
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700571disabled
Ameya Thakur8d2147a2015-04-24 17:09:08 -0700572
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700573on property:sys.ims.QMI_DAEMON_STATUS=1
574start imsdatadaemon
Garik Badalyan40563c92014-02-05 14:48:39 -0800575
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700576service ims_rtp_daemon /system/bin/ims_rtp_daemon
577class main
578user system
579socket ims_rtpd stream 0660 system radio
Sivaram Vempati28807692016-06-29 11:46:43 -0700580group radio diag inet log
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700581disabled
582
583service imscmservice /system/bin/imscmservice
584class main
585user system
Sivaram Vempati28807692016-06-29 11:46:43 -0700586group radio diag diag log
Chiou-Hao Hsu8631fb42015-05-07 20:17:08 -0700587disabled
588
589on property:sys.ims.DATA_DAEMON_STATUS=1
590start ims_rtp_daemon
591start imscmservice
Alexy Joseph458a76f2015-03-18 11:48:25 -0700592
Ed Tame79b8492016-04-05 17:36:52 -0700593service ssr_setup /system/bin/ssr_setup
kurt_huangc67ca182016-06-29 02:33:11 +0800594class main
595user root
596group root system
Ed Tame79b8492016-04-05 17:36:52 -0700597oneshot
Ed Tame79b8492016-04-05 17:36:52 -0700598
599service ss_ramdump /system/bin/subsystem_ramdump
600class main
chunhsien_linc272e112016-06-07 16:05:33 +0800601user root
602group root system
Ed Tame79b8492016-04-05 17:36:52 -0700603disabled
604
605on property:persist.sys.ssr.enable_ramdumps=1
606write /sys/module/subsystem_restart/parameters/enable_ramdumps 1
Siqi Lin62da1162016-09-16 10:50:34 -0700607mkdir /data/ramdump 761 root system
Ed Tame79b8492016-04-05 17:36:52 -0700608start ss_ramdump
609
610on property:persist.sys.ssr.enable_ramdumps=0
611write /sys/module/subsystem_restart/parameters/enable_ramdumps 0
612
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700613service iop /system/bin/iop
614class main
615user root
616group root
617disabled
618
619service cnd /system/bin/cnd
Jeff Vander Stoep7796a932016-05-26 13:37:54 -0700620user root
Jeff Vander Stoep2faa8332016-06-09 16:04:43 -0700621group root inet wakelock
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700622class late_start
623socket cnd stream 660 root inet
624
Jaekyun Seok4fb203e2017-02-17 09:44:39 +0900625service irsc_util /system/bin/irsc_util "/vendor/etc/sec_config"
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700626class core
627user root
628oneshot
629
630service rmt_storage /system/bin/rmt_storage
631class core
632user root
Jeff Vander Stoepe8470f72016-05-10 16:21:55 -0700633group root system wakelock
Roopesh Rajashekharaiah Nataraja09e80dc2016-08-03 13:20:01 -0700634ioprio rt 1
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700635
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700636service port-bridge /system/bin/port-bridge
637class main
638user radio
639group radio system inet
640oneshot
641
642service qmiproxy /system/bin/qmiproxy
643class main
644user radio
645group radio diag
646disabled
647
648service netmgrd /system/bin/netmgrd
649class main
Jeff Vander Stoepbfb216f2016-05-11 10:56:42 -0700650user root
651group root wifi wakelock radio inet
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700652
Roshan Pius5f8f3bb2017-02-23 08:30:49 -0800653service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700654-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf \
Jaekyun Seok4fb203e2017-02-17 09:44:39 +0900655-I/vendor/etc/wifi/p2p_supplicant_overlay.conf -N \
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700656-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
Jaekyun Seok4fb203e2017-02-17 09:44:39 +0900657-I/vendor/etc/wifi/wpa_supplicant_overlay.conf \
Dmitry Shmidt1366a342016-07-21 08:56:26 -0700658-O/data/misc/wifi/sockets -puse_p2p_group_interface=1 \
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700659-e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
660# we will start as root and wpa_supplicant will switch to user wifi
661# after setting up the capabilities required for WEXT
662# user wifi
663# group wifi inet keystore
664class main
665socket wpa_wlan0 dgram 660 wifi wifi
666disabled
667oneshot
668
Subhani Shaikf8c9db02016-04-28 15:44:56 -0700669service cnss_diag /system/bin/cnss_diag -q
670class late_start
Ecco Park5a14bb92017-03-22 11:56:11 -0700671user system
672group system
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700673oneshot
674
675service cnss-daemon /system/bin/cnss-daemon -n -l
676class late_start
Srinivas Girigowda0641bdc2016-08-25 18:12:51 -0700677user system
Ecco Park5a14bb92017-03-22 11:56:11 -0700678group system inet wifi
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700679
680service loc_launcher /system/bin/loc_launcher
681#loc_launcher will start as root and set its uid to gps
682class late_start
Sivaram Vempati28807692016-06-29 11:46:43 -0700683group gps inet diag wifi
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700684
Jaekyun Seok8fe61f32017-02-14 19:04:17 +0900685service init-radio-sh /vendor/bin/init.radio.sh
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700686class late_start
kurt_huangb3b8d6f2016-06-16 02:21:46 +0800687user radio
688group root radio
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700689oneshot
690
Tim Murray725790e2016-07-20 19:04:59 -0700691service msm_irqbalance /vendor/bin/msm_irqbalance -f /vendor/etc/msm_irqbalance.conf
692socket msm_irqbalance seqpacket 660 root system
693class core
694user root
695group root
696writepid /dev/cpuset/system-background/tasks
697
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700698service atfwd /system/bin/ATFWD-daemon
699class late_start
700user system
701group system radio
Wei Wang0a8f8b22016-07-14 14:46:26 -0700702disabled
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700703
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700704service ssr_diag /system/bin/ssr_diag
705class late_start
706user system
707group system
708disabled
709
710service diag_mdlog_start /system/bin/diag_mdlog
711class late_start
712user shell
713group system diag sdcard_rw sdcard_r media_rw
714disabled
715oneshot
716
717service diag_mdlog_stop /system/bin/diag_mdlog -k
718class late_start
719user shell
720group system diag sdcard_rw sdcard_r media_rw
721disabled
722oneshot
723
Thierry Strudelb4d838b2016-04-08 12:54:52 -0700724service perfd /vendor/bin/perfd
725class main
726user root
Jeff Vander Stoepfe1bf6c2016-06-13 14:52:52 -0700727group root system
Tim Murrayb1fc0b12016-07-28 09:11:42 -0700728writepid /dev/cpuset/system-background/tasks
Siqi Lineb3fa042016-05-13 13:35:42 -0700729
730# bugreport is triggered by holding down volume down, volume up and power
731service bugreport /system/bin/dumpstate -d -p -B -z \
732-o /data/user_de/0/com.android.shell/files/bugreports/bugreport
733class main
734disabled
735oneshot
736keycodes 114 115 116
jason_sung7365f612016-05-31 16:17:15 +0800737
738on property:sys.boot_completed=1
Tim Murray0ccba692016-07-28 09:26:20 -0700739# update cpusets now that boot is complete and we want better load balancing
740write /dev/cpuset/top-app/cpus 0-3
Wei Wang5a6cf6b2016-08-03 16:01:30 -0700741write /dev/cpuset/foreground/boost/cpus 0-2
Tim Murray0ccba692016-07-28 09:26:20 -0700742write /dev/cpuset/foreground/cpus 0-2
743write /dev/cpuset/background/cpus 0
744write /dev/cpuset/system-background/cpus 0-2
Alex Vakulenko1cc612c2017-01-23 14:26:59 -0800745
746# Update DVR cpusets to runtime values.
747write /dev/cpuset/kernel/cpus 0,1
748write /dev/cpuset/system/performance/cpus 2
749write /dev/cpuset/system/background/cpus 0
750write /dev/cpuset/system/cpus 0,2
751write /dev/cpuset/application/performance/cpus 3
752write /dev/cpuset/application/background/cpus 1
753write /dev/cpuset/application/cpus 1,3
754
Wei Wang11f31082016-11-02 22:50:28 -0700755# end boot time fs tune
Mohamad Ayyash43031062016-09-20 20:01:41 -0700756write /sys/block/sda/queue/read_ahead_kb 512
Wei Wang11f31082016-11-02 22:50:28 -0700757write /sys/block/sda/queue/nr_requests 128
758write /sys/block/dm-0/queue/read_ahead_kb 128
Wei Wang11f31082016-11-02 22:50:28 -0700759write /sys/block/dm-1/queue/read_ahead_kb 128
Wei Wang0c53ee02016-11-07 13:49:01 -0800760write /sys/block/sda/queue/iostats 1
Suprabh Shuklaebff65b2016-07-19 17:28:57 -0700761
762# battery driver settings for the retail demo environment where
763# the device will be perpertually plugged in to a power source
764on property:sys.retaildemo.enabled=1
765write /sys/class/power_supply/battery/full_level_dis_batt_chg 35
766
767on property:sys.retaildemo.enabled=0
768write /sys/class/power_supply/battery/full_level_dis_batt_chg 100
Wei Wang0c53ee02016-11-07 13:49:01 -0800769
Jaekyun Seok8fe61f32017-02-14 19:04:17 +0900770service devstart_sh /vendor/bin/init.qcom.devstart.sh
Wei Wang0c53ee02016-11-07 13:49:01 -0800771class main
772user root
773group root system
774disabled
775oneshot
776
Jaekyun Seok8fe61f32017-02-14 19:04:17 +0900777service foreground_sh /vendor/bin/init.foreground.sh
Wei Wangffd18de2017-01-20 14:16:02 -0800778class main
779user root
780group root system readproc
781disabled
782oneshot
783
Jaekyun Seok8fe61f32017-02-14 19:04:17 +0900784service power_sh /vendor/bin/init.power.sh
Wei Wangffd18de2017-01-20 14:16:02 -0800785class main
786user root
787group root system
788disabled
789oneshot
790
Jaekyun Seok8fe61f32017-02-14 19:04:17 +0900791service mid_sh /vendor/bin/init.mid.sh
Wei Wangffd18de2017-01-20 14:16:02 -0800792class main
793user root
794group root system
795disabled
796oneshot