forked from Atrix-Dev-Team/android_device_motorola_olympus
-
Notifications
You must be signed in to change notification settings - Fork 1
/
init.olympus.rc
executable file
·570 lines (466 loc) · 17.2 KB
/
init.olympus.rc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
import init.olympus.usb.rc
on init
export EXTERNAL_STORAGE /mnt/sdcard
export PHONE_STORAGE /mnt/emmc
# create mountpoints for storage
mkdir /mnt/emmc 0000 system system
mkdir /mnt/sdcard 0000 system system
mkdir /emmc/sdcard 0000 system system
symlink /mnt/emmc /emmc
symlink /mnt/sdcard /sdcard
symlink /mnt/sdcard /emmc/sdcard
# battery driver permissions
mkdir /pds 0755 root root
mkdir /osh 0000 root root
on fs
# mount mtd partitions
# Mount /system rw first to give the filesystem a chance to save a checkpoint
mount ext4 /dev/block/mmcblk0p12 /system noatime nodiratime wait ro barrier=1
mount ext4 /dev/block/mmcblk0p16 /data nosuid nodev noatime nodiratime wait barrier=1 noauto_da_alloc
mount ext4 /dev/block/mmcblk0p15 /cache nosuid nodev noatime nodiratime wait barrier=1 noauto_da_alloc
mount ext4 /dev/block/mmcblk0p13 /osh nodev noatime nodiratime wait barrier=1 noauto_da_alloc
exec /system/bin/logwrapper /system/bin/pds_perm_fix.sh
on post-fs
symlink /system/lib /vendor/lib
# once everything is setup, no need to modify /
mkdir /mnt/usbdisk_1.0 0000 system system
mkdir /mnt/usbdisk_1.1 0000 system system
mkdir /mnt/usbdisk_1.2 0000 system system
mkdir /mnt/usbdisk_1.3 0000 system system
mkdir /mnt/usbdisk_1.4 0000 system system
mkdir /mnt/usbdisk_1.5 0000 system system
mkdir /mnt/usbdisk_1.6 0000 system system
mkdir /mnt/usbdisk_1.7 0000 system system
mount rootfs rootfs / ro remount
# usbd permissions
mkdir /data/usbd 0777 system system
# We chown/chmod /data again so because mount is run as root + defaults
chown system system /data
chmod 0771 /data
# Create dump dir and collect dumps.
# Do this before we mount cache so eventually we can use cache for
# storing dumps on platforms which do not have a dedicated dump partition.
mkdir /data/dontpanic
chown root log /data/dontpanic
chmod 0750 /data/dontpanic
# Collect apanic data, free resources and re-arm trigger
write /proc/apanic /dev/block/mmcblk0p9
copy /proc/apanic_console /data/dontpanic/apanic_console
chown root log /data/dontpanic/apanic_console
chmod 0640 /data/dontpanic/apanic_console
copy /proc/apanic_threads /data/dontpanic/apanic_threads
chown root log /data/dontpanic/apanic_threads
chmod 0640 /data/dontpanic/apanic_threads
write /proc/apanic_console 1
# Same reason as /data above
chown system cache /cache
chmod 0771 /cache
chown system misc /misc
chmod 0771 /misc
# This may have been created by the recovery system with odd permissions
chown system cache /cache/recovery
chmod 0770 /cache/recovery
#change permissions on vmallocinfo so we can grab it from bugreports
chown root log /proc/vmallocinfo
chmod 0440 /proc/vmallocinfo
#change permissions on kmsg & sysrq-trigger so bugreports can grab kthread stacks
chown root system /proc/kmsg
chmod 0440 /proc/kmsg
chown root system /proc/sysrq-trigger
chmod 0220 /proc/sysrq-trigger
on post-fs-data
# wlan permissions
mkdir /data/misc/wifi 0771 wifi wifi
mkdir /data/misc/wifi/sockets 0771 wifi wifi
mkdir /data/misc/dhcp 0771 dhcp dhcp
setprop wifi.interface eth0
setprop softap.interface wl0.1
# usbd permissions
mkdir /data/usbd 0777 system system
#directory to hwui blacklist
mkdir /data/local/hwui.deny 0775 system system
on boot
# nvrm permissions
chown system system /dev/nvrm
chmod 666 /dev/nvrm
# knvrm permissions
chmod 660 /dev/knvrm
chown system audio /dev/knvrm
# nvrpc permissions
chmod 666 /dev/nvrpc
# nvmap permissions
chmod 666 /dev/nvmap
# nvos/knvos permissions
chmod 660 /dev/knvos
chown system audio /dev/knvos
chmod 666 /dev/nvos
# nvhost permissions
chmod 666 /dev/nvhost-ctrl
chmod 666 /dev/nvhost-display
chmod 666 /dev/nvhost-gr3d
chmod 666 /dev/nvhost-gr2d
chmod 666 /dev/nvhost-dsi
chmod 666 /dev/nvhost-isp
chmod 666 /dev/nvhost-mpe
chmod 666 /dev/nvhost-vi
# make framebuffer accessible
chmod 660 /dev/graphics/fb0
# USB3 IPC permissions
chmod 0660 /dev/ttyUSB1
# nvodmcam permissions
chmod 666 /dev/nvodmcam
# bluetooth permissions
chmod 0664 /pds/bt/bt_bdaddr
chmod 0660 /dev/ttyHS2
chown bluetooth bluetooth /dev/ttyHS2
chmod 0660 /sys/class/rfkill/rfkill0/state
chmod 0660 /sys/class/rfkill/rfkill0/type
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
write /sys/class/rfkill/rfkill0/state 1
# bluetooth for BCM
chown root bluetooth /proc/bt_power
chown root bluetooth /proc/bt_stat
chown root bluetooth /proc/bt_status
chown root bluetooth /proc/bluetooth/sleep/proto
chmod 0664 /proc/bt_power
chmod 0664 /proc/bt_stat
chmod 0664 /proc/bt_status
chmod 0664 /proc/bluetooth/sleep/proto
# multimedia power regulators
chown root system /sys/devices/platform/reg-virt-vcam/enabled
chown root system /sys/devices/platform/reg-virt-vcsi/enabled
chown root system /sys/devices/platform/reg-virt-vcsi_2/enabled
chown root system /sys/devices/platform/reg-virt-sw5/enabled
# sdcard tweaks
write /sys/block/mmcblk1/bdi/read_ahead_kb 4096
# network JIT
write /proc/sys/net/core/bpf_jit_enable 1
# create the necessary dirs for tpapi with proper permission
mkdir /data/tpapi
mkdir /data/tpapi/etc
mkdir /data/tpapi/etc/tpa
mkdir /data/tpapi/etc/tpa/persistent
chmod 2770 /data/tpapi
chmod 2770 /data/tpapi/etc
chmod 2770 /data/tpapi/etc/tpa
chmod 2770 /data/tpapi/etc/tpa/persistent
chown system system /data/tpapi
chown system system /data/tpapi/etc
chown system system /data/tpapi/etc/tpa
chown system system /data/tpapi/etc/tpa/persistent
chmod 0660 /dev/nvaes
chown system system /dev/nvaes
# for feature 33302 device encryption
mkdir /data/emt
chmod 0700 /data/emt
exec /system/bin/enc_mgt_tool
#create folder for bp panic logs
mkdir /data/panicreports
chown root radio /data/panicreports
chmod 0777 /data/panicreports
#===================================================================
# Backlight needs 0664 for TCMD
#===================================================================
chmod 0664 /sys/class/leds/lcd-backlight/brightness
chmod 0664 /sys/class/leds/lcd-backlight-tcmd/brightness
chmod 0664 /sys/class/leds/lcd-backlight-webtop/brightness
chmod 0664 /sys/class/leds/button-backlight/brightness
chmod 0664 /sys/class/leds/button-backlight-tcmd/brightness
chmod 0664 /sys/class/leds/red/brightness
chmod 0664 /sys/class/leds/green/brightness
chmod 0664 /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/blink
chown system system /sys/class/leds/green/blink
chown system system /sys/class/leds/blue/blink
chmod 0664 /sys/class/leds/red/blink
chmod 0664 /sys/class/leds/green/blink
chmod 0664 /sys/class/leds/blue/blink
chown system system /sys/class/leds/soc/brightness
chmod 0664 /sys/class/leds/soc/brightness
chown system system /sys/class/leds/lcd-backlight-nr/brightness
chown system system /sys/class/leds/lcd-backlight-tcmd/brightness
chown system system /sys/class/leds/lcd-backlight-webtop/brightness
chown system system /sys/class/leds/button-backlight-tcmd/brightness
chown system system /sys/class/leds/lcd-backlight/pwm
chown system system /sys/class/leds/lcd-backlight/registers
chown system system /sys/class/leds/lcd-backlight/suspend
chown system system /sys/class/leds/white/brightness
chmod 0664 /sys/class/leds/white/brightness
#===================================================================
# TCMD
#===================================================================
mkdir /data/local 0771 system shell
mkdir /data/local/12m 0771 system shell
mkdir /data/local/12m/batch 0771 system shell
mkdir /data/local/tmp 0771 system shell
chown system shell /data/local
chown system shell /data/local/12m
chown system shell /data/local/12m/batch
chown system shell /data/local/tmp
mkdir /data/tombstones
chmod 2775 /data/tombstones
chown system system /data/tombstones
mkdir /data/anr
chmod 0777 /data/anr
chown system system /data/anr
# Required for copying 12M/Batch files to Olympus
mkdir /system/local 0771 system shell
mkdir /system/local/12m 0771 system shell
mkdir /system/local/12m/batch 0771 system shell
chown system shell /system/local
chown system shell /system/local/12m
chown system shell /system/local/12m/batch
# vibrator permissions
chmod 0664 /sys/class/timed_output/vibrator/enable
# sensor interface
chown compass compass /dev/kxtf9
chmod 660 /dev/kxtf9
chown compass compass /dev/akm8975
chmod 660 /dev/akm8975
chown compass compass /dev/isl29030
chmod 660 /dev/isl29030
chown compass compass /dev/akm8975_dev
chmod 660 /dev/akm8975_dev
chown compass compass /dev/akm8975_aot
chmod 660 /dev/akm8975_aot
# atvc stuff
# Define Motorola DBVC ATVC Property defaults (failsafe properties)
setprop ro.sys.atvc_allow_netmon_usb 0
setprop ro.sys.atvc_allow_netmon_ih 0
setprop ro.sys.atvc_allow_res_core 0
setprop ro.sys.atvc_allow_res_panic 0
setprop ro.sys.atvc_allow_all_adb 0
setprop ro.sys.atvc_allow_all_core 0
setprop ro.sys.atvc_allow_efem 0
setprop ro.sys.atvc_allow_bp_log 0
setprop ro.sys.atvc_allow_ap_mot_log 0
setprop ro.sys.atvc_allow_gki_log 0
mkdir /data/atvc 0775 system shell
chown system shell /data/atvc
# touchpad stuff
chmod 660 /sys/class/misc/touchpad
chown compass compass /sys/bus/i2c/drivers/qtouch-obp-ts/0-004a/irqStatus
# Load Authentec VPN kernel module
insmod /system/lib/vpnclient.ko
# Start services
exec /system/bin/mot_boot_mode
# triggered by holding down volume down, volume up and power
service reboot_key /system/bin/reboot
user system
oneshot
keycodes 114 115 107
disabled
service tcmd /system/bin/tcmd
class post-zygote_services
# group option accepts at most 12 suppl. groups
group system radio input system camera graphics sdcard_rw audio inet bluetooth wifi net_admin
#group log compass cache mount net_bt_admin net_raw
socket local_tcmd stream 0660 system system
socket batch_socket stream 0600 system system
service tcmdhelp /system/bin/tcmdhelp
class post-zygote_services
socket tcmdhelp stream 0600 system system
oneshot
disabled
#execute tcmdhelp
on property:tcmd.start_tcmdhelp=1
start tcmdhelp
service ftmipcd /system/bin/ftmipcd
class post-zygote_services
user radio
group radio inet
disabled
# Power up to normal
on property:tcmd.suspend=0
class_start pre-zygote_services
class_start zygote_services
class_start post-zygote_services
# Power up to suspend
on property:tcmd.suspend=1
write /sys/power/nvrm/lp2policy 0
stop wpa_supplicant
stop mdm_panicd
class_start pre-zygote_services
class_start post-zygote_services
# Normal to suspend
on property:tcmd.suspend=2
write /sys/power/nvrm/lp2policy 0
stop wpa_supplicant
stop mdm_panicd
class_stop zygote_services
# Control ftmipcd
on property:tcmd.usb_cable="connected"
start ftmipcd
on property:tcmd.usb_cable="disconnected"
stop ftmipcd
on property:tcmd.ctrl_adb=1
setprop persist.service.adb.enable 1
setprop persist.factory.allow_adb 1
stop usbd
start usbd
on property:tcmd.ctrl_adb=0
setprop persist.service.adb.enable 0
setprop persist.factory.allow_adb 0
stop usbd
start usbd
# turn on bluetooth for tcmd
# on property:tcmd.bt_mod=1
# insmod /system/lib/modules/wl127x-test.ko
#turn off bluetooth for tcmd
# on property:tcmd.bt_mod=0
# exec /system/bin/rmmod wl127x_test
#===================================================================
on property:sys.chargeonly.mode=1
class_start pre-zygote_services
class_stop post-zygote_services
class_stop main
stop zygote
exec /system/bin/charge_only_mode
service nvrm_daemon /system/bin/logwrapper /system/bin/nvrm_daemon
class pre-zygote_services
user root
onrestart restart servicemanager
service wpa_supplicant /system/bin/wpa_supplicant -D wext -i eth0 -c /data/misc/wifi/wpa_supplicant.conf -e /data/misc/wifi/entropy.bin
class WLAN
socket wpa_eth0 dgram 0660 wifi wifi
disabled
oneshot
service dhcpcd_eth0 /system/bin/dhcpcd -ABKL
class WLAN
#user system #- this makes socket() calls fail with permission denied
#group dhcp
disabled
oneshot
service iprenew_eth0 /system/bin/dhcpcd -n
group dhcp
disabled
oneshot
service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service iprenew_bnep0 /system/bin/dhcpcd -n
class main
disabled
oneshot
# Ecompass daemon
service akmd2 /system/bin/akmd2
class post-zygote_services
user compass
group compass misc input
service secclkd /system/bin/secclkd
class post-zygote_services
socket secclk_socket stream 660 system system
user system
group system radio system
oneshot
on property:persist.service.adb.enable=1
# MOT change to statically link android usb module
# insmod /system/lib/hw/g_android.ko
start adbd
# Battery Daemon
service battd /system/bin/battd
class pre-zygote_services
socket battdsock stream 0660 system system
user root
group system system
oneshot
service usbd /system/bin/usbd
class pre-zygote_services
group system
service touch /system/bin/logwrapper /system/bin/touchpad -a
user system
group system
class pre-zygote_services
oneshot
service whisperd /system/bin/whisperd /dev/ttyHS0
class post-zygote_services
user root
oneshot
#start Authentec VPN service
service vpnclientpm /system/bin/vpnclientpm
class post-zygote_services
oneshot
user root
# ppp daemon used by the ATCMD to support DUN function
service pppd /system/bin/pppd silent ipparam dun plugin /system/lib/libpppd_plugin.so
class post-zygote_services
user root
disabled
oneshot
service map /system/bin/sdptool add --channel=20 MAP
class post-zygote_services
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot
service hciattach /system/bin/bt_init_wrapper.sh
class main
user bluetooth
group bluetooth net_bt_admin
disabled
oneshot
on property:init.svc.hciattach=stopping
exec /system/bin/bt_init -stop
# This is product specific init script which will be appended to init.rc
# after init.nv_common.rc.
on early-boot
setprop ro.FOREGROUND_APP_MEM 3072
setprop ro.VISIBLE_APP_MEM 4608
setprop ro.PERCEPTIBLE_APP_MEM 7200
setprop ro.HEAVY_WEIGHT_APP_MEM 7200
setprop ro.SECONDARY_SERVER_MEM 11776
setprop ro.BACKUP_APP_MEM 11776
setprop ro.HOME_APP_MEM 11776
setprop ro.HIDDEN_APP_MEM 17408
setprop ro.EMPTY_APP_MEM 21000
on boot
chown system /dev/aes1750
chgrp system /dev/aes1750
chmod 0600 /dev/aes1750
chown system /data/am2data.db
chown system /data/am2data.db.meta
chgrp system /data/am2data.db
chgrp system /data/am2data.db.meta
# Enable ADB
write /dev/usb_device_mode charge_adb
# Adjust Android LMK
write /sys/module/lowmemorykiller/parameters/minfree 3072,4608,7200,11776,17408,21000
# USB IPC Power Management Settings
write /sys/devices/platform/tegra-ehci.2/usb2/2-1/power/autosuspend 2
write /sys/devices/platform/tegra-ehci.2/usb2/2-1/power/level auto
# USB1 Host Power Management Settings
write /sys/devices/platform/tegra-ehci.0/usb1/power/autosuspend -1
# copy /system/etc/motorola/tcmd/cid_template.dat
exec /system/bin/cp /system/etc/motorola/tcmd/cid_template.dat /data/local
# Set the default value for bluedroid_ref
write /data/tmp/bluedroid_ref 0
chown system system /data/tmp/bluedroid_ref
# Adjust Max Read buffer to have initial TCP Recv Win set to 64K
# This will be overriding one defined in init.rc
# IKOLYMP-12325- TCP Window Size values, for ATT-CAT10.
# IKOLYMP-12429- Optimize TCP stack for HSUPA CAT6 throughput
setprop net.tcp.buffersize.default 131072,262144,524288,4096,16384,147456
setprop net.tcp.buffersize.wifi 131072,262144,524288,4096,16384,147456
setprop net.tcp.buffersize.umts 131072,262144,524288,4096,16384,147456
setprop net.tcp.buffersize.edge 16384,32768,65536,4096,16384,32768
setprop net.tcp.buffersize.gprs 4096,8192,12288,4096,8192,12288
# ppp daemon used by DUN.
service pppd /system/xbin/pppd silent ipparam dun plugin /system/lib/libpppd_plugin.so
class post-zygote_services
user root
disabled
oneshot
# Fingerprint sensor daemon
service am2server /system/bin/am2server
user system
group system inet input
class pre-zygote_services
on device-added-/dev/ttyUSB0
write /sys/devices/platform/tegra-ehci.2/usb2/2-1/power/autosuspend 2
write /sys/devices/platform/tegra-ehci.2/usb2/2-1/power/level auto
# Modem panic daemon
service mdm_panicd /system/bin/mdm_panicd
class post-zygote_services
oneshot