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

on init
    loglevel 9
    export PHONE_STORAGE /mnt/emmc
    export EXTERNAL_STORAGE /mnt/sdcard

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

    mkdir /mnt/emmc 0000 system system
    symlink /mnt/emmc /emmc
    mkdir /mnt/sdcard 0000 system system
    symlink /mnt/sdcard /sdcard
    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

    # Tweak background writeout
    write /proc/sys/vm/dirty_writeback_centisecs 2000
    write /proc/sys/vm/dirty_expire_centisecs 1000
    write /proc/sys/vm/dirty_ratio 90

# Include extra init file
    import /device.rc

    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
    mkdir /radio 0775 radio radio
    mount yaffs2 mtd@radio /radio
    mount ext4 /dev/block/mmcblk0p2 /data wait nosuid nodev noatime nodiratime noauto_da_alloc
    mount yaffs2 mtd@datadata /datadata

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

# 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

on post-fs
    # We chown/chmod /datadata again so because mount is run as root + defaults
    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

on post-fs-data
    # setup datadata
    exec /sbin/setupdatadata.sh

    # 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

    # 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

    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 sdcard_rw log

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

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

service wpa_supplicant /system/bin/wpa_supplicant \
		-Dnl80211 -iwlan0 -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin
    class main
    socket wpa_wlan0 dgram 0660 wifi wifi
    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_bnep0 /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_bnep0 /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service bdaddr /system/bin/bdaddr_read
    class main
    user root
    disabled
    oneshot

on property:init.svc.bootanim=running
    start bdaddr

service hciattach /system/bin/brcm_patchram_plus --enable_hci --enable_lpm \
    --baudrate 3000000 --patchram /vendor/firmware/bcm4329.hcd /dev/s3c2410_serial0
    class main
    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
    class main
    disabled
    oneshot
    keycodes 114 115 116

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

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