blob: e4295f6ef5f4817d6f5087a008260dadce7177b9 (
plain)
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
|
import init.target.rc
import init.smdk4x12.usb.rc
on init
mkdir /mnt/shell/emulated 0700 shell shell
mkdir /storage 0550 system sdcard_r
mkdir /storage/emulated 0555 root root
mkdir /storage/sdcard1 0775 system system
mkdir /storage/usbdisk0 0775 system system
export EXTERNAL_STORAGE /storage/emulated/legacy
export SECONDARY_STORAGE /storage/sdcard1
export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
export EMULATED_STORAGE_TARGET /storage/emulated
# for backwards compatibility
symlink /storage/emulated/legacy /sdcard
symlink /storage/emulated/legacy /mnt/sdcard
symlink /storage/emulated/legacy /storage/sdcard0
symlink /mnt/shell/emulated/0 /storage/emulated/legacy
symlink /storage/sdcard1 /extSdCard
symlink /storage/sdcard1 /mnt/extSdCard
symlink /storage/usbdisk0 /usbdisk0
symlink /storage/usbdisk0 /mnt/usbdisk0
mkdir /efs 0771 radio system
mkdir /tombstones
symlink /efs /factory
# ko files for FM Radio
insmod /system/lib/modules/Si4709_driver.ko
on fs
mkdir /preload
mount_all /fstab.smdk4x12
setprop ro.crypto.fuse_sdcard true
chown radio system /efs
chmod 0771 /efs
on post-fs-data
# we will remap this as /mnt/sdcard with the sdcard fuse tool
mkdir /data/media 0775 media_rw media_rw
chown media_rw media_rw /data/media
# data/log
mkdir /data/log 0775 system log
chown system log /data/log
chmod 0775 /data/log
chmod 0775 /data/anr
# create data/gps for GPS demon
chown root system /dev/ttySAC1
chmod 0660 /dev/ttySAC1
chown root system /sys/class/sec/gps/GPS_PWR_EN/value
chmod 0664 /sys/class/sec/gps/GPS_PWR_EN/value
chown root system /sys/class/sec/gps/GPS_nRST/value
chmod 0664 /sys/class/sec/gps/GPS_nRST/value
mkdir /data/gps 771 system system
chown system system /data/gps
mkdir /data/misc/radio 0775 radio system
chmod 0775 /data/misc/radio
mkdir /efs/imei 0775 radio system
# icd
exec icd_check
chown system system /dev/icd
chmod 0644 /dev/icd
write /dev/icdr 0
chown system system /dev/icdr
chmod 0644 /dev/icdr
chown system system /dev/tzic
# HDCP 2.x
mkdir /data/system/hdcp2 0775 system system
# h2k permission
chmod 0644 /efs/redata.bin
chmod 0644 /efs/h2k.dat
# Camera firmware
mkdir /data/cfw 0775 system system
chown system media /data/cfw/SlimISP_GD.bin
chmod 0775 /data/cfw/SlimISP_GD.bin
chown system media /data/cfw/SlimISP_ZD.bin
chmod 0775 /data/cfw/SlimISP_ZD.bin
# Camera
chown system radio /sys/class/camera/rear/rear_camfw
chown system radio /sys/class/camera/rear/rear_camtype
chown system radio /sys/class/camera/rear/rear_flash
chmod 0666 /sys/class/camera/rear/rear_flash
chown system radio /sys/class/camera/flash/rear_flash
chmod 0666 /sys/class/camera/flash/rear_flash
chown system radio /sys/devices/virtual/flash/flash/flash_power
chmod 0666 /sys/devices/virtual/flash/flash/flash_power
chown system radio /sys/class/camera/rear/isp_core
chown system radio /sys/class/camera/front/front_camfw
chown system radio /sys/class/camera/front/front_camtype
write /data/ISP_CV 1
# Permissions for bluetooth
setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"
chown bluetooth bluetooth ro.bt.bdaddr_path
chown bluetooth bluetooth /dev/ttySAC0
chmod 0600 /dev/ttySAC0
chmod 0660 /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
restorecon /sys/class/rfkill/rfkill0/state
restorecon /sys/class/rfkill/rfkill0/type
# NFC
setprop ro.nfc.port "I2C"
chmod 0600 /dev/pn544
chown nfc nfc /dev/pn544
# Vibrator
chmod 0660 /dev/tspdrv
chown root shell /dev/tspdrv
chmod 0660 /sys/class/timed_output/vibrator/pwm_value
chown system system /sys/class/timed_output/vibrator/pwm_value
# LED
chmod 0660 /sys/class/sec/led/led_fade
chown system system /sys/class/sec/led/led_fade
# Touchkey
chmod 0660 /sys/class/sec/sec_touchkey/timeout
chown system system /sys/class/sec/sec_touchkey/timeout
chmod 0660 /sys/class/sec/sec_touchkey/force_disable
chown system system /sys/class/sec/sec_touchkey/force_disable
# S-Pen
chown system system /sys/class/sec/sec_epen/epen_saving_mode
chmod 660 /sys/class/sec/sec_epen/epen_saving_mode
# Permissions for LCD
chown system radio /sys/class/lcd/panel/lcd_power
chown system radio /sys/class/lcd/panel/lcd_type
chown system radio /sys/class/lcd/panel/device/hs_toggle
chown system media_rw /sys/class/lcd/panel/power_reduce
chown system system /sys/class/backlight/panel/auto_brightness
chown system system /sys/class/backlight/panel/brightness
chown system system /sys/class/graphics/fb0/lcdfreq/level
# Permissions for mDNIe
chown system media_rw /sys/class/mdnie/mdnie/mode
chown system media_rw /sys/class/mdnie/mdnie/outdoor
chown system media_rw /sys/class/mdnie/mdnie/scenario
chown system system /sys/class/mdnie/mdnie/negative
write /sys/class/mdnie/mdnie/scenario 0
write /sys/class/mdnie/mdnie/mode 0
# Permissions for System Server and daemons.
chown radio system /sys/android_power/state
chown radio system /sys/android_power/request_state
chown radio system /sys/android_power/acquire_full_wake_lock
chown radio system /sys/android_power/acquire_partial_wake_lock
chown radio system /sys/android_power/release_wake_lock
chown radio system /sys/power/state
chown radio system /sys/power/wake_lock
chown radio system /sys/power/wake_unlock
chown radio system /sys/power/cpufreq_table
chown radio system /sys/power/cpufreq_max_limit
chown radio system /sys/power/cpufreq_min_limit
chown radio system /sys/power/mali_lock
chown radio system /sys/class/power_supply/battery/siop_activated
chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
chown radio system /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
chown radio system /sys/devices/system/cpu/busfreq/curr_freq
chown radio system /sys/module/mali/parameters/mali_dvfs_control
chown system radio /sys/bus/platform/devices/s5p-tmu/lot_id
chmod 0660 /sys/power/state
chmod 0660 /sys/power/wake_lock
chmod 0660 /sys/power/wake_unlock
chmod 0660 /sys/power/cpufreq_table
chmod 0660 /sys/power/cpufreq_max_limit
chmod 0660 /sys/power/cpufreq_min_limit
chmod 0660 /sys/power/mali_lock
chmod 0660 /sys/class/power_supply/battery/siop_activated
chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/max_cpu_lock
chmod 0660 /sys/devices/system/cpu/cpufreq/pegasusq/hotplug_lock
chmod 0660 /sys/devices/system/cpu/busfreq/curr_freq
chmod 0660 /sys/module/mali/parameters/mali_dvfs_control
chmod 0664 /sys/bus/platform/devices/s5p-tmu/lot_id
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/class/leds/keyboard-backlight/brightness
chown system system /sys/class/leds/lcd-backlight/brightness
chown system system /sys/class/backlight/panel/brightness
chown system system /sys/class/leds/button-backlight/brightness
chown system system /sys/class/sec/sec_touchkey/brightness
chown system system /sys/class/leds/jogball-backlight/brightness
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/leds/red/brightness
chown system system /sys/class/leds/green/brightness
chown system system /sys/class/leds/blue/brightness
chown system system /sys/class/leds/red/device/grpfreq
chown system system /sys/class/leds/red/device/grppwm
chown system system /sys/class/leds/red/device/blink
chown system system /sys/class/timed_output/vibrator/enable
chown system system /sys/module/sco/parameters/disable_esco
chown system system /sys/kernel/ipv4/tcp_wmem_min
chown system system /sys/kernel/ipv4/tcp_wmem_def
chown system system /sys/kernel/ipv4/tcp_wmem_max
chown system system /sys/kernel/ipv4/tcp_rmem_min
chown system system /sys/kernel/ipv4/tcp_rmem_def
chown system system /sys/kernel/ipv4/tcp_rmem_max
chown root radio /proc/cmdline
# Audio (Earjack)
chown system radio /sys/class/audio/earjack/select_jack
chown system radio /sys/class/audio/earjack/key_state
chown system radio /sys/class/audio/earjack/state
chown media system /sys/class/audio/earjack/reselect_jack
# Battery node
chown system radio /sys/class/power_supply/battery/batt_reset_soc
chown system radio /sys/class/power_supply/battery/batt_read_raw_soc
chown system radio /sys/class/power_supply/battery/batt_read_adj_soc
chown system radio /sys/class/power_supply/battery/batt_type
chown system radio /sys/class/power_supply/battery/batt_temp_adc
chown system radio /sys/class/power_supply/battery/batt_temp_aver
chown system radio /sys/class/power_supply/battery/batt_temp_adc_aver
chown system radio /sys/class/power_supply/battery/batt_vfocv
chown system radio /sys/class/power_supply/battery/batt_lp_charging
chown system radio /sys/class/power_supply/battery/batt_charging_source
chown system radio /sys/class/power_supply/battery/test_mode
chown system radio /sys/class/power_supply/battery/wc_status
chown system radio /sys/class/power_supply/battery/wpc_pin_state
# Thermistor node
chown radio system /sys/devices/platform/sec-thermistor/temp_adc
chown radio system /sys/devices/platform/sec-thermistor/temperature
# Permissions for touch
chown system radio /sys/class/sec/tsp/cmd
# Permissions for Touchkey
chown system radio /sys/class/sec/sec_touchkey/enable_disable
chown system radio /sys/class/sec/sec_touchkey/touchkey_brightness
chown system radio /sys/class/sec/sec_touchkey/touchkey_menu
chown system radio /sys/class/sec/sec_touchkey/touchkey_back
chown system radio /sys/class/sec/sec_touchkey/touch_update
chown system radio /sys/class/sec/sec_touchkey/touch_version
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_version_panel
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_version_phone
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update_status
chown system radio /sys/class/sec/sec_touchkey/touchkey_firm_update
chown system radio /sys/class/sec/sec_touchkey/touch_sensitivity
chown system radio /sys/class/sec/sec_touchkey/touchkey_threshold
chown system system /sys/devices/virtual/sec/sec_touchkey/brightness
# Permissions for gpio_keys
chown radio system /sys/class/sec/sec_key/wakeup_keys
write /sys/class/sec/sec_key/wakeup_keys 116,172
# Switch Device
chown system system /sys/class/sec/switch/uart_sel
chown system system /sys/class/sec/switch/usb_sel
chown system system /sys/class/sec/switch/otg_test
chown system radio /sys/class/sec/switch/adc
# SVC LED
chown system system /sys/class/sec/led/led_r
chown system system /sys/class/sec/led/led_g
chown system system /sys/class/sec/led/led_b
chown system system /sys/class/leds/led_r/brightness
chown system system /sys/class/leds/led_g/brightness
chown system system /sys/class/leds/led_b/brightness
chown system system /sys/class/leds/led_r/delay_on
chown system system /sys/class/leds/led_g/delay_on
chown system system /sys/class/leds/led_b/delay_on
chown system system /sys/class/leds/led_r/delay_off
chown system system /sys/class/leds/led_g/delay_off
chown system system /sys/class/leds/led_b/delay_off
chown system system /sys/class/leds/led_r/blink
chown system system /sys/class/leds/led_g/blink
chown system system /sys/class/leds/led_b/blink
chown system system /sys/class/sec/led/led_pattern
chown system system /sys/class/sec/led/led_blink
chown system system /sys/class/sec/led/led_br_lev
# <Sensors & NFC>
# Input Events
chown system radio /sys/class/input/input2/enable
chown system radio /sys/class/input/input2/poll_delay
chown system radio /sys/class/input/input3/enable
chown system radio /sys/class/input/input3/poll_delay
chown system radio /sys/class/input/input4/enable
chown system radio /sys/class/input/input4/poll_delay
chown system radio /sys/class/input/input5/enable
chown system radio /sys/class/input/input5/poll_delay
chown system radio /sys/class/input/input6/enable
chown system radio /sys/class/input/input6/poll_delay
chown system radio /sys/class/input/input7/enable
chown system radio /sys/class/input/input7/poll_delay
chown system radio /sys/class/input/input8/enable
chown system radio /sys/class/input/input8/poll_delay
chown system radio /sys/class/input/input9/enable
chown system radio /sys/class/input/input9/poll_delay
# Accelerometer_sensor
chown system radio /dev/accelerometer
chown system radio /sys/class/sensors/accelerometer_sensor
chown system radio /sys/class/sensors/accelerometer_sensor/raw_data
chown system radio /sys/class/sensors/accelerometer_sensor/calibration
chown system radio /sys/class/sensors/accelerometer_sensor/reactive_alert
chown system radio /sys/class/sensors/accelerometer_sensor/vendor
chown system radio /sys/class/sensors/accelerometer_sensor/name
# Proximity_sensor
chown system radio /sys/class/sensors/proximity_sensor/state
chown system radio /sys/class/sensors/proximity_sensor/prox_avg
chown system radio /sys/class/sensors/proximity_sensor/prox_cal
chown system radio /sys/class/sensors/proximity_sensor/vendor
chown system radio /sys/class/sensors/proximity_sensor/name
chown system radio /sys/class/sensors/proximity_sensor/prox_thresh
chown system radio /sys/class/sensors/proximity_sensor/barcode_emul_en
# Light_sensor
chown system radio /sys/class/input/input7/enable
chown system radio /sys/class/input/input7/poll_delay
chown system radio /sys/class/sensors/light_sensor/lux
chown system radio /sys/class/sensors/light_sensor/raw_data
chown system radio /sys/class/sensors/light_sensor/vendor
chown system radio /sys/class/sensors/light_sensor/name
# Gyro_sensor
chown system radio /dev/lsm330dlc_gyro_misc
chown system radio /sys/class/sensors/gyro_sensor/power_on
chown system radio /sys/class/sensors/gyro_sensor/power_off
chown system radio /sys/class/sensors/gyro_sensor/temperature
chown system radio /sys/class/sensors/gyro_sensor/selftest
chown system radio /sys/class/sensors/gyro_sensor/selftest_dps
chown system radio /sys/class/sensors/gyro_sensor/vendor
chown system radio /sys/class/sensors/gyro_sensor/name
# Barometer_sensor
chown system radio /sys/class/input/input5/pressure_reference_level
chown system radio /sys/class/input/input5/temperature_reference_level
chown system radio /sys/class/input/input5/enable_autozero
chown system radio /sys/class/input/input5/compensation_param
chown system radio /sys/class/input/input5/reg_value
chown system radio /sys/class/input/input5/reg_addr
chown system radio /sys/class/sensors/barometer_sensor/sea_level_pressure
chown system radio /sys/class/sensors/barometer_sensor/vendor
chown system radio /sys/class/sensors/barometer_sensor/name
chown system radio /sys/class/sensors/barometer_sensor/calibration
# Magnetic_sensor
chown system radio /dev/akm8963
chown system radio /dev/akm8975
chown system radio /sys/class/sensors/magnetic_sensor/raw_data
chown system radio /sys/class/sensors/magnetic_sensor/vendor
chown system radio /sys/class/sensors/magnetic_sensor/name
# for datarouter
chown system system /dev/dun
chown system system /dev/ttyGS0
chown system system /dev/ttyGS1
chown system system /dev/ttyGS2
chown system system /dev/ttyGS3
# for wifi
mkdir /data/misc/wifi/sockets 0770 wifi wifi
mkdir /data/misc/dhcp 0775 dhcp dhcp
chown dhcp dhcp /data/misc/dhcp
# for TRP/TIS
write /data/.psm.info 1
chown system root /data/.psm.info
chmod 0660 /data/.psm.info
# Set indication (checked by vold) that we have finished this action
setprop vold.post_fs_data_done 1
on boot
mount debugfs /sys/kernel/debug /sys/kernel/debug
setprop ro.build.product smdk4x12
setprop ro.product.device smdk4x12
setprop wifi.interface wlan0
# fake some battery state
setprop status.battery.state Slow
setprop status.battery.level 5
setprop status.battery.level_raw 50
setprop status.battery.level_scale 9
# wifi display
write /proc/sys/net/core/wmem_max 262144
# Set permission for Widevine DRM temporarily
chmod 0777 /dev/s5p-smem
rm /data/app/tlcd_sock
# serial keyboard port
chown root system /dev/ttySAC2
chmod 0660 /dev/ttySAC2
# touchscreen
chown radio system /sys/class/sec/tsp/cmd
chown media_rw media_rw /sys/class/sec/tsp/set_jitter
# epen
chown radio system /sys/class/sec/sec_epen/epen_firm_update
chown radio system /sys/class/sec/sec_epen/epen_checksum
chown radio system /sys/class/sec/sec_epen/epen_checksum_result
chown radio system /sys/class/sec/sec_epen/epen_reset
# wakeup keys
chown radio system /sys/class/sec/sec_key/wakeup_keys
write /sys/class/sec/sec_key/wakeup_keys 116,172
# serial keyboard daemon
service sec_keyboard /system/bin/sec_keyboard /dev/ttySAC2
class late_start
disabled
group system
on property:ro.uart_debug=0
start sec_keyboard
# create virtual SD card at /mnt/sdcard, based on the /data/media directory
# daemon will drop to user/group system/media_rw after initializing
# underlying files in /data/media wil be created with user and group media_rw (1023)
service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
class late_start
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 u:object_r:wpa_socket:s0
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 u:object_r:wpa_socket:s0
disabled
oneshot
service dhcpcd_wlan0 /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service dhcpcd_p2p /system/bin/dhcpcd -aABKL
class main
disabled
oneshot
service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
class main
disabled
oneshot
service iprenew_wlan0 /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_p2p /system/bin/dhcpcd -n
class main
disabled
oneshot
service iprenew_bt-pan /system/bin/dhcpcd -n
class main
disabled
oneshot
service macloader /system/bin/macloader
class main
oneshot
# Workaround for broken incall audio
service bootsnd /system/bin/tinyplay /system/etc/sound/silence.wav -D 0 -d 0 -p 880
class late_start
user root
group audio
oneshot
|