summaryrefslogtreecommitdiffstats
path: root/init.aries.rc
blob: 67423ac1be936b81587cfc649eb1e0b9e42a4688 (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
import init.aries.usb.rc
import init.aries.gps.rc

on init
    loglevel 9
    export EXTERNAL_STORAGE /storage/sdcard0
    export SECONDARY_STORAGE /storage/sdcard1

    # FIXME: Market checks this variable for space-checking, but downloads to /datadata
    export DOWNLOAD_CACHE /data/download

    mkdir /storage/sdcard0 0000 root root
    mkdir /storage/sdcard1 0000 root root
    symlink /storage/sdcard0 /sdcard
    symlink /storage/sdcard0 /mnt/sdcard
    symlink /storage/sdcard1 /emmc
    symlink /storage/sdcard1 /mnt/emmc
    # FIXME: Remove emmc?
    mkdir /datadata 0771 system system

    # We will create our own ril-daemon service in class 'core' because the
    # rild doesn't like being killed. (During device encryption.)
    stop ril-daemon

on boot
    mount debugfs /sys/kernel/debug /sys/kernel/debug

    setprop ro.build.product aries
    setprop ro.product.device aries
    setprop ro.radio.noril yes

# 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

# phone
    setprop ro.telephony.call_ring.multiple 0

on fs
# LVM: set up LVM volumes
    exec /lvm/sbin/lvm vgscan --mknodes --ignorelockingfailure
    exec /lvm/sbin/lvm vgchange -aly --ignorelockingfailure

    mkdir /radio 0775 radio radio
    mount yaffs2 mtd@radio /radio
    mount yaffs2 mtd@datadata /datadata
    mount_all fstab.aries

    chown radio radio /radio/modem.bin

# 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 net_bt_stack /dev/s3c2410_serial0
    chmod 0600 /dev/s3c2410_serial0
    chmod 0660 /sys/class/rfkill/rfkill0/state
    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
    chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type

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

# change permission for uart_switch
    chown radio radio /sys/class/sec/uart_switch/UART_SEL/value
    chmod 660 /sys/class/sec/uart_switch/UART_SEL/value

# load wifi module
    insmod /system/lib/modules/bcmdhd.ko

on post-fs
    chown system system /datadata
    chmod 0771 /datadata

    #symlinks for samsung RIL
    symlink /radio/modem.bin /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

# trigger governor change uevent
    write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive

on post-fs-data
    # for migrating download provider's cache out of the small /data/data
    mkdir /data/data2 0771 system system

    # setup datadata
    exec /sbin/setupdatadata.sh

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

    # download cache
    mkdir /data/download 0770 system cache

    # logs
    mkdir /data/log 0775 root root
    chmod 0775 /data/log

    setprop vold.post_fs_data_done 1

service aries-ril-daemon /system/bin/rild
    class core
    socket rild stream 660 root radio
    socket rild-debug stream 660 radio system
    user root
    group radio cache inet misc audio log

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

service wpa_supplicant /system/bin/wpa_supplicant \
	-iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
	#   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 -aABDKL
    class main
    disabled
    oneshot

service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
    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 bdaddr /system/bin/bdaddr_read
    class main
    user root
    disabled
    oneshot

on property:ril.bt_macaddr=*
    start bdaddr

# bugreport is triggered by holding down volume down, volume up and power
# service bugreport /system/bin/dumpstate -d -v -o /sdcard/bugreports/bugreport
#     class main
#     disabled
#     oneshot
#     keycodes 114 115 116

service orientationd /system/vendor/bin/orientationd
    class late_start
    user compass
    group system input
    disabled

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

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

service tvouthack /system/bin/tvouthack
    user system
    group graphics
    disabled