/
init.n1.rc
411 lines (345 loc) · 14.7 KB
/
init.n1.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
import init.n1.usb.rc
on early-init
mount debugfs debugfs /sys/kernel/debug
write /sys/class/firmware/timeout 5
export EXTERNAL_STORAGE /storage/sdcard0
export SECONDARY_STORAGE /storage/sdcard1
mkdir /storage 0775 system system
mkdir /storage/sdcard0 0775 system system
mkdir /storage/sdcard1 0775 system system
mkdir /storage/usbdisk0 0775 system system
mkdir /efs 0771 radio system
mkdir /preload 0771 system system
mkdir /mnt 0775 root system
mkdir /mnt/.lfs 0755 root root
# for backwards compatibility
symlink /storage/sdcard0 /sdcard
symlink /storage/sdcard0 /mnt/sdcard
symlink /storage/sdcard1 /extSdCard
symlink /storage/sdcard1 /mnt/extSdCard
symlink /storage/usbdisk0 /usbDisk
symlink /storage/usbdisk0 /mnt/usbDisk
on fs
mount_all /fstab.n1
mkdir /efs/bluetooth
mkdir /efs/wifi
chown radio system /efs/bluetooth
chown radio system /efs/wifi
chmod 0775 /efs/bluetooth
chmod 0775 /efs/wifi
mkdir /mnt/modem 0770 radio system
on boot
chown system system /efs/wifi/.mac.info
chown system system /data/.mac.info
chmod 0664 /efs/wifi/.mac.info
chmod 0664 /data/.mac.info
mkdir /data/misc/wifi 0770 wifi system
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0775 dhcp dhcp
mkdir /data/nvcam 0775 system system
chown dhcp dhcp /data/misc/dhcp
mkdir /data/wifi 0770 wifi wifi
mkdir /data/misc/radio 0775 radio system
# external storage emulation
# mkdir /data/media 0775 media_rw media_rw
# chown media_rw media_rw /data/media
# IMEI
mkdir /efs/imei 0775 radio system
chown radio system /efs/imei
chmod 775 /efs/imei
# OTG Test
chown system radio /sys/class/host_notify/usb_otg/booster
chmod 0664 /sys/class/host_notify/usb_otg/booster
# usb detect
mkdir /dev/bus 0755 root root
mkdir /dev/bus/usb 0755 root root
# bluetooth
# UART device
chmod 0660 /dev/ttyHS2
chown bluetooth bluetooth /dev/ttyHS2
# power up/down interface
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
# bluetooth MAC address programming
chown bluetooth bluetooth ro.bt.bdaddr_path
chown bluetooth bluetooth /system/etc/bluetooth
setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
# UART/USB path switching
chown system radio /sys/devices/platform/i2c-gpio.11/i2c-11/11-0025/uartsel
chown system radio /sys/devices/platform/i2c-gpio.11/i2c-11/11-0025/usbsel
chown system radio /sys/class/sec/switch/uart_sel/value
chown system radio /sys/class/sec/switch/usb_sel
# audio
chmod 0664 /sys/power/suspend/mode
chown system audio /sys/power/suspend/mode
chown system audio /sys/devices/virtual/jack/jack_reselector/reselect_jack
# backlight and leds
chown system system /sys/class/backlight/pwm-backlight/brightness
chown system system /sys/class/leds/button-backlight/brightness
chown system system /sys/class/leds/button-backlight/force_disable
chown system system /sys/class/leds/button-backlight/timeout
# LCD/CMC623
chmod 664 /sys/devices/virtual/mdnie/cmc623-ext/set_bypass
chmod 664 /sys/devices/virtual/mdnie/cmc623-ext/show_regs
chmod 664 /sys/devices/virtual/mdnie/cmc623-ext/read_reg
chmod 664 /sys/devices/virtual/mdnie/cmc623-ext/set_reg
chmod 664 /sys/devices/virtual/mdnie/mdnie/color_saturation
chmod 664 /sys/devices/virtual/mdnie/mdnie/color_black
chmod 664 /sys/devices/virtual/mdnie/mdnie/color_white
chmod 664 /sys/devices/virtual/mdnie/mdnie/lightsensor_file_state
chmod 664 /sys/devices/virtual/mdnie/mdnie/cabc
chmod 664 /sys/devices/virtual/mdnie/mdnie/outdoor
chmod 664 /sys/devices/virtual/mdnie/mdnie/mode
chmod 664 /sys/devices/virtual/mdnie/mdnie/scenario
chmod 664 /sys/devices/virtual/sec/sec_tune_lcd/lcdtype
chmod 664 /sys/devices/virtual/sec/sec_tune_lcd/lcd_onoff
chmod 664 /sys/devices/virtual/sec/sec_tune_cmc623/bypassonoff
chmod 664 /sys/devices/virtual/sec/sec_tune_cmc623/cabconoff
chown system radio /sys/devices/virtual/mdnie/cmc623-ext/set_bypass
chown system radio /sys/devices/virtual/mdnie/cmc623-ext/show_regs
chown system radio /sys/devices/virtual/mdnie/cmc623-ext/read_reg
chown system radio /sys/devices/virtual/mdnie/cmc623-ext/set_reg
chown system radio /sys/devices/virtual/mdnie/mdnie/color_saturation
chown system radio /sys/devices/virtual/mdnie/mdnie/color_black
chown system radio /sys/devices/virtual/mdnie/mdnie/color_white
chown system radio /sys/devices/virtual/mdnie/mdnie/lightsensor_file_state
chown system media_rw /sys/devices/virtual/mdnie/mdnie/cabc
chown system media_rw /sys/devices/virtual/mdnie/mdnie/outdoor
chown system media_rw /sys/devices/virtual/mdnie/mdnie/mode
chown system media_rw /sys/devices/virtual/mdnie/mdnie/scenario
chown system radio /sys/devices/virtual/sec/sec_tune_lcd/lcdtype
chown system radio /sys/devices/virtual/sec/sec_tune_lcd/lcd_onoff
chown system radio /sys/devices/virtual/sec/sec_tune_cmc623/bypassonoff
chown system radio /sys/devices/virtual/sec/sec_tune_cmc623/cabconoff
# Sensor
chmod 666 /dev/nvhost-ctrl
chmod 666 /dev/nvhost-display
chmod 666 /dev/nvhost-dsi
chmod 666 /dev/nvhost-gr2d
chmod 666 /dev/nvhost-gr3d
chmod 666 /dev/nvhost-isp
chmod 666 /dev/nvhost-mpe
chmod 666 /dev/nvhost-vi
# sensor
chown root system /dev/mpu
chown root system /dev/mpuirq
chown root system /dev/accelirq
chown root system /dev/timerirq
chown root system /sys/class/proximity/proximity/proximity_avg
chmod 0660 /dev/mpu
chmod 0660 /dev/mpuirq
chmod 0660 /dev/accelirq
chmod 0660 /dev/timerirq
chmod 664 /sys/class/sensors/accelerometer_sensor/calibration
chown system system /sys/class/sensors/accelerometer_sensor/calibration
chmod 666 /sys/class/input/input2/device/rate
chmod 666 /sys/class/input/input2/device/autosleep
# BB remote file system
mkdir /data/rfs
mkdir /data/rfs/data
mkdir /data/rfs/data/modem
mkdir /data/rfs/data/debug
chown radio system /data/rfs/data
chown radio system /data/rfs/data/modem
chown radio system /data/rfs/data/debug
symlink /system/vendor/firmware/data/config /data/rfs/data/config
symlink /system/vendor/firmware/app /data/rfs/app
symlink /mnt/modem/data/factory /data/rfs/data/factory
# N1_ICS
# GPIO BB access for user radio
# chown radio system /sys/class/gpio/gpio169/value
# DVFS upper/under lock sysfs
chown radio system /sys/power/cpufreq_min_limit
chmod 0664 /sys/power/cpufreq_min_limit
chown radio system /sys/power/cpufreq_max_limit
chmod 0664 /sys/power/cpufreq_max_limit
chown radio system /sys/power/cpufreq_table
chmod 0444 /sys/power/cpufreq_table
# COM port settings
symlink /dev/ttyACM3 /dev/log_modem
# Default Read Ahead value for sdcards
# write /sys/block/mmcblk0/queue/read_ahead_kb 2048
# write /sys/block/mmcblk1/queue/read_ahead_kb 2048
# mute gc alloc/free in logcat
setprop dalvik.vm.debug.alloc 0
# GPS
chown radio system /dev/ttyHS0
chmod 0664 /dev/ttyHS0
mkdir /data/gps 0777 radio system
chown radio system /data/gps
chmod 0664 /sys/class/sec/gps/GPS_PWR_EN/value
chown radio system /sys/class/sec/gps/GPS_PWR_EN/value
chmod 0664 /sys/class/sec/gps/GPS_nRST/value
chown radio system /sys/class/sec/gps/GPS_nRST/value
# ko files for FM Radio
insmod /system/lib/modules/Si4709_driver.ko
# Vibetonz
chmod 0660 /dev/tspdrv
chown root shell /dev/tspdrv
chmod 0660 /sys/vibrator/pwm_val
chown system system /sys/vibrator/pwm_val
#SISO-PLAYREADY-CHANGES
#DRM directory creation
mkdir /system/etc/security/.drm 0775
chown system media /system/etc/security/.drm
chmod 0775 /system/etc/security/.drm
#Added for CLMA certs for Manufacturing app in OMADRM Version2
mkdir /data/mrd 0744
mkdir /data/mrd/almc 0744
mkdir /data/mrd/almc/adabip 0744
chown radio radio /data/mrd/almc/adabip/
chmod 0744 /data/mrd/almc/adabip/
# Added for Playready DRM Support
mkdir /data/data/.drm 0775
chown media system /data/data/.drm
chmod 0775 /data/data/.drm
mkdir /data/data/.drm/.playready 0775
chown media system /data/data/.drm/.playready
chmod 0775 /data/data/.drm/.playready
# Added for DIVX DRM
mkdir /efs/.files 0775
mkdir /efs/.files/.dx1 0775
mkdir /efs/.files/.dm33 0775
mkdir /efs/.files/.mp301 0775
chown media system /efs/.files/.dx1
chown media system /efs/.files/.dm33
chown media system /efs/.files/.mp301
chmod 0775 /efs/.files/.dx1
chmod 0775 /efs/.files/.dm33
chmod 0775 /efs/.files/.mp301
#SISO-PLAYREADY-CHANGES
# Permissions for Camera
chown system system /sys/class/camera/rear/rear_camtype
chmod 0775 /sys/class/camera/rear/rear_camtype
chown system system /sys/class/camera/rear/rear_flash
chmod 0776 /sys/class/camera/rear/rear_flash
chown system system /sys/class/camera/front/front_camtype
chmod 0775 /sys/class/camera/front/front_camtype
# Debug_Level
chown system radio /sys/devices/platform/sec_debug_level
chmod 664 /sys/devices/platform/sec_debug_level
chown system radio /sys/devices/virtual/misc/level/control
chmod 664 /sys/devices/virtual/misc/level/control
# Modem interface
chown system radio /sys/devices/platform/tegra-ehci.1/ehci_power
# battery sysfile
chown system radio /sys/class/power_supply/battery/batt_vol
chown system radio /sys/class/power_supply/battery/batt_vol_adc
chown system radio /sys/class/power_supply/battery/batt_vol_adc_cal
chown system radio /sys/class/power_supply/battery/batt_vol_adc_aver
chown system radio /sys/class/power_supply/battery/batt_vol_aver
chown system radio /sys/class/power_supply/battery/batt_temp
chown system radio /sys/class/power_supply/battery/batt_temp_adc
chown system radio /sys/class/power_supply/battery/batt_temp_adc_cal
chown system radio /sys/class/power_supply/battery/batt_temp_adc_aver
chown system radio /sys/class/power_supply/battery/batt_temp_aver
chown system radio /sys/class/power_supply/battery/batt_soc
chown system radio /sys/class/power_supply/battery/batt_reset_soc
chown system radio /sys/class/power_supply/battery/batt_fg_soc
chown system radio /sys/class/power_supply/battery/batt_test_mode
chown system radio /sys/class/power_supply/battery/batt_vibrator
chown system radio /sys/class/power_supply/battery/batt_camera
chown system radio /sys/class/power_supply/battery/batt_mp3
chown system radio /sys/class/power_supply/battery/batt_video
chown system radio /sys/class/power_supply/battery/batt_voice_call_2g
chown system radio /sys/class/power_supply/battery/batt_voice_call_3g
chown system radio /sys/class/power_supply/battery/batt_data_call
chown system radio /sys/class/power_supply/battery/batt_wifi
chown system radio /sys/class/power_supply/battery/batt_gps
chown system radio /sys/class/power_supply/battery/batt_temp_check
chown system radio /sys/class/power_supply/battery/batt_full_check
chown system radio /sys/class/power_supply/battery/batt_v_f_adc
chown system radio /sys/class/power_supply/battery/batt_chg_current
chown system radio /sys/class/power_supply/battery/batt_type
chown system radio /sys/class/power_supply/battery/batt_dev_state
chown system radio /sys/class/power_supply/battery/batt_compensation
chown system radio /sys/class/power_supply/battery/batt_booting
chown system radio /sys/class/power_supply/battery/batt_charging_source
chown system radio /sys/class/power_supply/battery/batt_lp_charging
# nvcpud is not safe, and not linked to the framework
chown system root /dev/min_online_cpus
chown system root /dev/cpu_freq_min
chown system root /dev/cpu_freq_max
setprop nvcpud.enabled true
setprop nvcpud.config_refresh_ms 30000
start nvcpud
service cpboot-daemon /sbin/cbd -d -o t -p 7
class main
user root
group radio cache inet misc audio log sdcard_rw qcom_oncrpc qcom_diag
service p2p_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -N \
-ip2p0 -Dnl80211 -c/data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin \
-puse_p2p_group_interface=1
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service wpa_supplicant /system/bin/wpa_supplicant \
-Dnl80211 -iwlan0 -e/data/misc/wifi/entropy.bin \
-c/data/misc/wifi/wpa_supplicant.conf
# we will start as root and wpa_supplicant will switch to user wifi
# after setting up the capabilities required for WEXT
# user wifi
# group wifi inet keystore
class main
socket wpa_wlan0 dgram 660 wifi wifi
disabled
oneshot
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -aABKL
class main
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_bnep0 /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
class main
disabled
oneshot
service nvcpud /system/bin/nvcpud
class main
user system
group log
disabled
# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys
service bugreport /system/bin/dumpstate -d -v -o /data/storage/bugreports/bugreport
disabled
oneshot
keycodes 115 114
# Exec after cm runparts
on property:init.svc.sysinit=stopped
# set KSM thread interval to 15 seconds (vs 1.5 in cm.rc)
write /sys/kernel/mm/ksm/sleep_millisecs 15000
# prevent bootloop on upgrade, media could be buggy sometimes
restart media
on property:init.svc.media=restarting
exec /system/xbin/killall mediaserver
# Power management settings
on property:sys.boot_completed=1
chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor
chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq
chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
write /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load 80
write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
write /sys/module/cpuidle/parameters/lp2_in_idle 1
stop nvcpud