summaryrefslogtreecommitdiffstats
path: root/init.aries.rc
blob: 32ca9d2106bd44b258fc50e7b699b6573155a2bf (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
on boot
    mount debugfs /sys/kernel/debug /sys/kernel/debug

# Backwards Compat - XXX: Going away in G*
    symlink /system/etc /etc
    symlink /mnt/sdcard /sdcard
    symlink /mnt/emmc /emmc

# Include extra init file
    import /system/etc/init.local.rc

# Run sysinit
    exec /system/bin/sysinit
    
    setprop ro.build.product aries
    setprop ro.product.device aries
    setprop ro.radio.noril yes
    setprop ro.bt.bdaddr_path "/efs/bluetooth/bt_addr"

# 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

# wi-fi
    mkdir /data/misc/wifi/sockets 0770 wifi wifi
    mkdir /data/misc/dhcp 0770 dhcp dhcp

# phone
    setprop ro.telephony.call_ring.multiple 0

# change permission for uart_switch
    chown radio radio /sys/class/sec/uart_switch/UART_SEL/value
    chown compass root /sys/class/input/input3/distortion
    chown compass root /sys/class/input/input3/offsets
    chown compass root /sys/class/input/input3/shape
    chown compass root /sys/class/input/input3/threshold
    chmod 660 /sys/class/sec/uart_switch/UART_SEL/value

# change permission for compass
    chown compass input /sys/class/input/input3/offsets
    chown compass input /sys/class/input/input3/shape
    chown compass input /sys/class/input/input3/distortion
    chown compass input /sys/class/input/input3/threshold
# create data/gps for GPS demon
    mkdir /data/gps 700 gps system
    chown gps system /data/gps
    chown gps root /sys/class/sec/gps/GPS_PWR_EN/value
    chmod 660 /sys/class/sec/gps/GPS_PWR_EN/value

on fs
    mount yaffs2 mtd@system /system
    mount yaffs2 mtd@cache /cache
    mount ext4 /dev/block/mmcblk0p2 /data wait nosuid nodev noatime nodiratime noauto_da_alloc
    mount yaffs2 mtd@datadata /datadata

# We chown/chmod /efs because mount is run as root + defaults
    mkdir /efs 0775 radio radio
    mount yaffs2 /dev/block/mtdblock4 /efs
    chown radio radio /efs
    chmod 770 /efs/bluetooth
    chmod 770 /efs/imei

# permissions for bluetooth.
    chown bluetooth bluetooth /efs/bluetooth
    chown bluetooth bluetooth ro.bt.bdaddr_path
    chown bluetooth bluetooth /dev/s3c2410_serial0
    chmod 0600 /dev/s3c2410_serial0
    chmod 0660 /sys/class/rfkill/rfkill0/state
    chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
    chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type

# Permissions for System Server and daemons.
    chown system system /sys/class/backlight/s5p_bl/brightness



on post-fs
    # once everything is setup, no need to modify /
    #mount rootfs rootfs / ro remount

    # remove /sbin/sh so that "adb install" can work properly
    exec /sbin/setupenv.sh

    # We chown/chmod /data and /datadata again so because mount is run as root + defaults
    chown system system /data
    chmod 0771 /data
    chown system system /datadata
    chmod 0771 /datadata

    # 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
    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

    # 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

# create basic filesystem structure
    mkdir /data/misc 01771 system misc
    mkdir /data/misc/bluetoothd 0770 bluetooth bluetooth
    mkdir /data/misc/bluetooth 0770 system system
    mkdir /data/misc/keystore 0700 keystore keystore
    mkdir /data/misc/vpn 0770 system system
    mkdir /data/misc/systemkeys 0700 system system
    mkdir /data/misc/vpn/profiles 0770 system system
    # give system access to wpa_supplicant.conf for backup and restore
    mkdir /data/misc/wifi 0770 wifi wifi
    chmod 0770 /data/misc/wifi
    chmod 0660 /data/misc/wifi/wpa_supplicant.conf
    mkdir /data/local 0771 shell shell
    mkdir /data/local/tmp 0771 shell shell
    #mkdir /data/data 0771 system system
    # symlink /data/data to /datadata for performance
    symlink /datadata /data/data

    mkdir /data/app-private 0771 system system
    mkdir /data/app 0771 system system
    mkdir /data/property 0700 root root

    # create dalvik-cache and double-check the perms
    mkdir /data/dalvik-cache 0771 system system
    chown system system /data/dalvik-cache
    chmod 0771 /data/dalvik-cache

    mkdir /cache/dalvik-cache 0771 system system
    chown system system /cache/dalvik-cache
    chmod 0771 /cache/dalvik-cache

    # create the lost+found directories, so as to enforce our permissions
    mkdir /data/lost+found 0770
    mkdir /cache/lost+found 0770

    # double check the perms, in case lost+found already exists, and set owner
    chown root root /data/lost+found
    chmod 0770 /data/lost+found
    chown root root /cache/lost+found
    chmod 0770 /cache/lost+found

    # allow net_raw to have access to /dev/socket directory
    chown root net_raw /dev/socket
    chmod 0775 /dev/socket
    
    #symlinks for samsung RIL
    symlink /dev/mtd/mtd5ro /dev/block/bml12

# allow system to modify cpufreq control files
    chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
    chown root system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
    chmod 0664 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq


service gpsd /system/vendor/bin/gpsd -c /vendor/etc/gps.xml
    socket gps seqpacket 0660 gps system
    user gps
    group system inet

# 3D init
service pvrsrvinit /system/vendor/bin/pvrsrvinit
    user root
    group root
    oneshot

service wpa_supplicant /system/bin/wpa_supplicant -Dwext -ieth0 -c/data/misc/wifi/wpa_supplicant.conf
    socket wpa_eth0 dgram 0660 wifi wifi
    disabled
    oneshot

service dhcpcd_eth0 /system/bin/dhcpcd -ABKL
    disabled
    oneshot

service hciattach /system/bin/brcm_patchram_plus --enable_hci --enable_lpm \
    --baudrate 3000000 --patchram /vendor/firmware/bcm4329.hcd /dev/s3c2410_serial0
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

# bugreport is triggered by holding down volume down, volume up and power
service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport
    disabled
    oneshot
    keycodes 114 115 116
    
service servicemanager /system/bin/servicemanager
    user system
    critical
    onrestart restart zygote
    onrestart restart media

service vold /system/bin/vold
    socket vold stream 0660 root mount
    ioprio be 2

service netd /system/bin/netd
    socket netd stream 0660 root system

service debuggerd /system/bin/debuggerd

service ril-daemon /system/bin/rild
    socket rild stream 660 root radio
    socket rild-debug stream 660 radio system
    user root
    group radio cache inet misc audio sdcard_rw net_admin net_raw

service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server
    socket zygote stream 666
    onrestart write /sys/android_power/request_state wake
    onrestart write /sys/power/state on
    onrestart restart media
    onrestart restart netd

service media /system/bin/mediaserver
    user media
    group system audio camera graphics inet net_bt net_bt_admin net_raw
    ioprio rt 4

service bootanim /system/bin/bootanimation
    user graphics
    group graphics
    disabled
    oneshot

service dbus /system/bin/dbus-daemon --system --nofork
    socket dbus stream 660 bluetooth bluetooth
    user bluetooth
    group bluetooth net_bt_admin

service bluetoothd /system/bin/bluetoothd -n
    socket bluetooth stream 660 bluetooth bluetooth
    socket dbus_bluetooth stream 660 bluetooth bluetooth
    # init.rc does not yet support applying capabilities, so run as root and
    # let bluetoothd drop uid to bluetooth with the right linux capabilities
    group bluetooth net_bt_admin misc
    disabled

service hfag /system/bin/sdptool add --channel=10 HFAG
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service hsag /system/bin/sdptool add --channel=11 HSAG
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service opush /system/bin/sdptool add --channel=12 OPUSH
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service pbap /system/bin/sdptool add --channel=19 PBAP
    user bluetooth
    group bluetooth net_bt_admin
    disabled
    oneshot

service installd /system/bin/installd
    socket installd stream 600 system system

service racoon /system/bin/racoon
    socket racoon stream 600 system system
    # racoon will setuid to vpn after getting necessary resources.
    group net_admin
    disabled
    oneshot

service mtpd /system/bin/mtpd
    socket mtpd stream 600 system system
    user vpn
    group vpn net_admin net_raw
    disabled
    oneshot

service keystore /system/bin/keystore /data/misc/keystore
    user keystore
    group keystore
    socket keystore stream 666

service dumpstate /system/bin/dumpstate -s
    socket dumpstate stream 0660 shell log
    disabled
    oneshot

service orientationd /system/vendor/bin/orientationd
    user compass
    group system input

service geomagneticd /system/vendor/bin/geomagneticd
    user compass
    group system input

service tvout /system/bin/tvoutserver
    user system
    group graphics

service console /system/bin/sh
    console
    disabled
    user shell
    group log

on property:ro.secure=0
    start console