blob: 00d4b0e4c66e10b37f26dd44afc7f9597aef5986 [file] [log] [blame]
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -07001import init.grouper.usb.rc
2
3on early-init
4 mount debugfs debugfs /sys/kernel/debug
5
Ramanan Rajeswarana0908d12012-09-10 09:44:29 -07006on init
7 # See storage config details at http://source.android.com/tech/storage/
Jeff Sharkeyffb44962012-09-11 23:24:32 -07008 mkdir /mnt/shell/emulated 0700 shell shell
9 mkdir /storage/emulated 0000 root root
10 mkdir /storage/emulated_legacy 0000 root root
Ramanan Rajeswarana0908d12012-09-10 09:44:29 -070011
Jeff Sharkeyffb44962012-09-11 23:24:32 -070012 export EXTERNAL_STORAGE /storage/emulated_legacy
13 export ADB_EXTERNAL_STORAGE /mnt/shell/emulated/0
14
15 export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
16 export EMULATED_STORAGE_TARGET /storage/emulated
Ramanan Rajeswarana0908d12012-09-10 09:44:29 -070017
18 # Support legacy paths
Jeff Sharkeyffb44962012-09-11 23:24:32 -070019 symlink /storage/emulated_legacy /sdcard
20 symlink /storage/emulated_legacy /mnt/sdcard
Jeff Sharkeyf7ffff42012-09-13 02:32:09 -070021 symlink /storage/emulated_legacy /storage/sdcard0
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -070022
23on early-boot
24 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
25 write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
26 write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
27 write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
28
29on fs
30 mkdir /factory 0775 radio radio
31
32 setprop ro.crypto.umount_sd false
33 mount_all /fstab.grouper
34
35on post-fs-data
36 mkdir /data/misc/wifi 0770 wifi wifi
37 mkdir /data/misc/wifi/sockets 0770 wifi wifi
38 mkdir /data/misc/dhcp 0770 dhcp dhcp
39 chown dhcp dhcp /data/misc/dhcp
40
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -070041 mkdir /data/media 0770 media_rw media_rw
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -070042
43 # change back to bluetooth from system
44 chown bluetooth bluetooth /data/misc/bluetooth
Ramanan Rajeswarana0908d12012-09-10 09:44:29 -070045
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -070046 mkdir /data/radio 0775 radio radio
47 mkdir /data/radio/log 0775 radio radio
48
49 # Set indication (checked by vold) that we have finished this action
50 setprop vold.post_fs_data_done 1
51
52on boot
53
54# bluetooth
55 # UART device
56 chmod 0660 /dev/ttyHS2
57 chown bluetooth bluetooth /dev/ttyHS2
58
59 # power up/down interface
60 chmod 0660 /sys/class/rfkill/rfkill0/state
61 chmod 0660 /sys/class/rfkill/rfkill0/type
62 chown bluetooth bluetooth /sys/class/rfkill/rfkill0/state
63 chown bluetooth bluetooth /sys/class/rfkill/rfkill0/type
64
65 # bluetooth MAC address programming
66 chown bluetooth bluetooth ro.bt.bdaddr_path
67 chown bluetooth bluetooth /system/etc/bluetooth
68 chown bluetooth bluetooth /data/misc/bluetooth
69 setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr"
70
71# NFC
72 setprop ro.nfc.port "I2C"
73 chmod 0660 /dev/pn544
74 chown nfc nfc /dev/pn544
75
Wayne Chen785d3862012-09-06 17:50:05 -070076# Proximity for RIL BODYSAR
77 chmod 0660 /sys/devices/platform/tegra-i2c.2/i2c-2/2-0028/sensor_onoff
78 chown root radio /sys/devices/platform/tegra-i2c.2/i2c-2/2-0028/sensor_onoff
79
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -070080# backlight
81 chown system system /sys/class/backlight/pwm-backlight/brightness
82
83# didim
84 chown system system /sys/class/graphics/fb0/device/smartdimmer/enable
85 chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
86
87# power
88 chown system system /sys/kernel/tegra_cap/core_cap_level
89 chown system system /sys/kernel/tegra_cap/core_cap_state
90 chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap
91
92# radio
93 chown radio radio /factory
94 chmod 0775 /factory
95
jessicaac3b11c2012-09-11 12:13:18 -070096on property:ro.debuggable=1
97 write /proc/sys/kernel/dmesg_restrict 0
98
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -070099# Sensor
100# iio
101 chown system system /dev/iio:device0
102 chown system system /sys/bus/iio/devices/trigger0/name
103 chown system system /sys/bus/iio/devices/iio:device0/accl_enable
104 chown system system /sys/bus/iio/devices/iio:device0/accl_matrix
105 chown system system /sys/bus/iio/devices/iio:device0/buffer/length
106 chown system system /sys/bus/iio/devices/iio:device0/buffer/enable
107 chown system system /sys/bus/iio/devices/iio:device0/compass_enable
108 chown system system /sys/bus/iio/devices/iio:device0/compass_matrix
109 chown system system /sys/bus/iio/devices/iio:device0/dmp_on
110 chown system system /sys/bus/iio/devices/iio:device0/dmp_int_on
111 chown system system /sys/bus/iio/devices/iio:device0/gyro_enable
112 chown system system /sys/bus/iio/devices/iio:device0/gyro_matrix
113 chown system system /sys/bus/iio/devices/iio:device0/in_accel_scale
114 chown system system /sys/bus/iio/devices/iio:device0/in_anglvel_scale
115 chown system system /sys/bus/iio/devices/iio:device0/in_magn_scale
116 chown system system /sys/bus/iio/devices/iio:device0/key
117 chown system system /sys/bus/iio/devices/iio:device0/power_state
118 chown system system /sys/bus/iio/devices/iio:device0/sampling_frequency
119 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
120 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
121 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
122 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
123 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
124 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
125 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
126 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
127 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
128 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
129 chown system system /sys/bus/iio/devices/iio:device0/temperature
130 chown system system /sys/bus/iio/devices/iio:device0/trigger/current_trigger
131 chown system system /dev/iio:device1
132 chown system system /sys/bus/iio/devices/trigger1/name
133 chown system system /sys/bus/iio/devices/iio:device1/buffer/length
134 chown system system /sys/bus/iio/devices/iio:device1/buffer/enable
135 chown system system /sys/bus/iio/devices/iio:device1/compass_enable
136 chown system system /sys/bus/iio/devices/iio:device1/compass_matrix
137 chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale
138 chown system system /sys/bus/iio/devices/iio:device1/power_state
139 chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency
140 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
141 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
142 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
143 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
144 chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger
145
146 chmod 600 /dev/iio:device0
147 chmod 600 /sys/bus/iio/devices/trigger0/name
148 chmod 600 /sys/bus/iio/devices/iio:device0/accl_enable
149 chmod 600 /sys/bus/iio/devices/iio:device0/accl_matrix
150 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/length
151 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/enable
152 chmod 600 /sys/bus/iio/devices/iio:device0/compass_enable
153 chmod 600 /sys/bus/iio/devices/iio:device0/compass_matrix
154 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_on
155 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_int_on
156 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_enable
157 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_matrix
158 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_scale
159 chmod 600 /sys/bus/iio/devices/iio:device0/in_anglvel_scale
160 chmod 600 /sys/bus/iio/devices/iio:device0/in_magn_scale
161 chmod 600 /sys/bus/iio/devices/iio:device0/key
162 chmod 600 /sys/bus/iio/devices/iio:device0/power_state
163 chmod 600 /sys/bus/iio/devices/iio:device0/sampling_frequency
164 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
165 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
166 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
167 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
168 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
169 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
170 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
171 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
172 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
173 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
174 chmod 600 /sys/bus/iio/devices/iio:device0/temperature
175 chmod 600 /sys/bus/iio/devices/iio:device0/trigger/current_trigger
176 chmod 600 /dev/iio:device1
177 chmod 600 /sys/bus/iio/devices/trigger1/name
178 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/length
179 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/enable
180 chmod 600 /sys/bus/iio/devices/iio:device1/compass_enable
181 chmod 600 /sys/bus/iio/devices/iio:device1/compass_matrix
182 chmod 600 /sys/bus/iio/devices/iio:device1/in_magn_scale
183 chmod 600 /sys/bus/iio/devices/iio:device1/power_state
184 chmod 600 /sys/bus/iio/devices/iio:device1/sampling_frequency
185 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
186 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
187 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
188 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
189 chmod 600 /sys/bus/iio/devices/iio:device1/trigger/current_trigger
190
191# Power management settings
192 write /sys/module/cpu_tegra3/parameters/no_lp 0
193 #write /sys/module/tegra3_emc/parameters/emc_enable 0
194 #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000
195 write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
196 write /sys/devices/system/cpu/cpufreq/interactive/input_boost 1
197 write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
198 write /sys/module/cpu_tegra3/parameters/auto_hotplug 1
199 #write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0
200 write /sys/module/cpuidle/parameters/lp2_in_idle 0
201
202# Interactive governor settings
203 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost_factor
204 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost_factor
205 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
206 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
207 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
208 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
209 chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost
210 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/max_boost
211 chown system system /sys/devices/system/cpu/cpufreq/interactive/sustain_load
212 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/sustain_load
213
214# Default Read Ahead value for sdcards
215 write /sys/block/mmcblk0/queue/read_ahead_kb 2048
216 write /sys/block/mmcblk1/queue/read_ahead_kb 2048
217
218# GPS init
219 write /sys/class/gpio/export 162
220 write /sys/class/gpio/gpio162/value 0
221 write /sys/class/gpio/gpio162/direction out
222 chown gps system /sys/class/gpio/gpio162/value
223 chmod 0664 /sys/class/gpio/gpio162/value
224 mkdir /data/gps
225 chown gps system /data/gps
226 chmod 770 /data/gps
227 chown gps system /dev/ttyHS1
228 chmod 0660 /dev/ttyHS1
229
yi-hsin_hung4e101a72012-09-18 07:52:51 +0800230# ril
231 chown radio system /sys/devices/virtual/ril/files/crash_dump_onoff
yi-hsin_hung0fd6ebe2012-09-22 07:57:12 +0800232 chown radio system /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
yi-hsin_hung4e101a72012-09-18 07:52:51 +0800233 chmod 0660 /sys/devices/virtual/ril/files/crash_dump_onoff
234 chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
235 chown radio system /sys/devices/platform/baseband_xmm_power/xmm_nml_reset
yi-hsin_hung525a6442012-09-22 08:01:15 +0800236 chown radio system /sys/devices/platform/baseband_xmm_power/xmm_force_crash
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -0700237
238# Load WiFi driver
239
240# BB mapping symbolic name to the logging ttyACM port
241 symlink /dev/ttyACM2 /dev/log_modem
242
243# Touch
244 chown system system /dev/elan-iap
245 chown system system /proc/ektf_dbg
246 start touch_fw_update
247
248# Write BT BD_ADDR
249service btmacreader /system/bin/btmacreader
250 class main
251 oneshot
252
253service wpa_supplicant /system/bin/wpa_supplicant \
254 -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
255 # we will start as root and wpa_supplicant will switch to user wifi
256 # after setting up the capabilities required for WEXT
257 # user wifi
258 # group wifi inet keystore
259 class main
260 socket wpa_wlan0 dgram 660 wifi wifi
261 disabled
262 oneshot
263
264service p2p_supplicant /system/bin/wpa_supplicant \
265 -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -N \
266 -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1
267# we will start as root and wpa_supplicant will switch to user wifi
268# after setting up the capabilities required for WEXT
269# user wifi
270# group wifi inet keystore
271 class main
272 socket wpa_wlan0 dgram 660 wifi wifi
273 disabled
274 oneshot
275
Dmitry Shmidtc3c411b2012-09-20 12:58:52 -0700276service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -0700277 class main
278 disabled
279 oneshot
280
281service dhcpcd_p2p /system/bin/dhcpcd -aABKL
282 class main
283 disabled
284 oneshot
285
Dmitry Shmidtc3c411b2012-09-20 12:58:52 -0700286service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -0700287 class main
288 disabled
289 oneshot
290
291service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
292 class main
293 disabled
294 oneshot
295
296service iprenew_wlan0 /system/bin/dhcpcd -n
297 class main
298 disabled
299 oneshot
300
301service iprenew_p2p /system/bin/dhcpcd -n
302 class main
303 disabled
304 oneshot
305
306service iprenew_eth0 /system/bin/dhcpcd -n
307 class main
308 disabled
309 oneshot
310
311#Sensor: load calibration files.
312 service sensors-config /system/bin/sensors-config
313 class main
314 user root
315 oneshot
316#Sensor load calibration files end
317
Ramanan Rajeswarana0908d12012-09-10 09:44:29 -0700318# virtual sdcard daemon running as media_rw (1023)
Jeff Sharkeyffb44962012-09-11 23:24:32 -0700319service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -0700320 class late_start
321
322# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys
323service bugreport /system/bin/bugmailer.sh -b /system/media/audio/ui/Dock.ogg -e /system/media/audio/ui/Undock.ogg
324 class main
325 disabled
326 oneshot
327 keycodes 115 114
328
Ramanan Rajeswaran754c5f42012-09-04 14:05:03 -0700329# Start GPS daemon
330 on boot
331 service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml
332 user gps
333 group system
334 class late_start
335
336# Recovery daemon: configure MSC partition
337service recoveryd /system/bin/recoveryd /dev/block/platform/sdhci-tegra.3/by-name/MSC
338 disabled
339 class main
340 user root
341 group root
342 oneshot
343
344on property:sys.shutdown.requested=1recovery
345 start recoveryd
346
347# start tf_daemon service
348service tf_daemon /system/bin/tf_daemon -storageDir /data/tf -d
349 class main
350 user root
351 group shell
352
353# may restart due to /data/tf not existing yet
354on property:init.svc.tf_daemon=restarting
355 mkdir /data/tf
356
357#Raydium touch setting
358service rm_ts_service /system/bin/rm_ts_server
359 class main
360
361# create filesystems if necessary
362service setup_fs /system/bin/setup_fs \
363 /dev/block/platform/sdhci-tegra.3/by-name/UDA \
364 /dev/block/platform/sdhci-tegra.3/by-name/CAC
365 class core
366 user root
367 group root
368 oneshot
369
370service touch_fw_update /system/bin/sh -c "echo /system/etc/firmware/touch_fw.ekt > /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw"
371 class main
372 disabled
373 user root
374 group root
375 oneshot
376