blob: 53151859b6050478b0c73132d8e4cd4e8093ad12 [file] [log] [blame]
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -07001import init.grouper.usb.rc
2
3on early-init
4 mount debugfs debugfs /sys/kernel/debug
5
Jeff Sharkeyc79af0f2012-08-14 21:01:49 -07006on init
Jeff Sharkey7069ed92012-08-20 17:18:51 -07007 # See storage config details at http://source.android.com/tech/storage/
Jeff Sharkey81005252012-09-11 18:47:12 -07008 mkdir /mnt/shell/emulated 0700 shell shell
Jeff Sharkey4ca93562012-09-30 17:16:25 -07009 mkdir /storage/emulated 0555 root root
Jeff Sharkeyc79af0f2012-08-14 21:01:49 -070010
Jeff Sharkey0b89c092012-09-30 12:43:51 -070011 export EXTERNAL_STORAGE /storage/emulated/legacy
Jeff Sharkey81005252012-09-11 18:47:12 -070012 export EMULATED_STORAGE_SOURCE /mnt/shell/emulated
13 export EMULATED_STORAGE_TARGET /storage/emulated
Jeff Sharkeyb738c932012-08-20 11:31:25 -070014
Jeff Sharkey7069ed92012-08-20 17:18:51 -070015 # Support legacy paths
Jeff Sharkey0b89c092012-09-30 12:43:51 -070016 symlink /storage/emulated/legacy /sdcard
17 symlink /storage/emulated/legacy /mnt/sdcard
18 symlink /storage/emulated/legacy /storage/sdcard0
19 symlink /mnt/shell/emulated/0 /storage/emulated/legacy
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070020
Nitin Kumbhar31613122012-05-22 17:05:21 -070021on early-boot
22 write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
23 write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
24 write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
25 write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
rpcraig182bf252012-11-02 14:54:16 -040026 restorecon /sys/devices/system/cpu
Nitin Kumbhar31613122012-05-22 17:05:21 -070027
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070028on fs
29 setprop ro.crypto.umount_sd false
30 mount_all /fstab.grouper
31
32on post-fs-data
33 mkdir /data/misc/wifi 0770 wifi wifi
34 mkdir /data/misc/wifi/sockets 0770 wifi wifi
35 mkdir /data/misc/dhcp 0770 dhcp dhcp
36 chown dhcp dhcp /data/misc/dhcp
37
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070038 mkdir /data/media 0770 media_rw media_rw
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070039
40 # change back to bluetooth from system
Matthew Xie1d79ba62012-10-04 11:38:01 -070041 chown bluetooth net_bt_stack /data/misc/bluetooth
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070042
rpcraig182bf252012-11-02 14:54:16 -040043 # sensors-config
44 mkdir /data/sensors 751 system system
45 mkdir /data/lightsensor 751 system system
46 mkdir /data/calibration
47 mkdir /data/amit
48
49 # btmacreader
50 mkdir /data/mac
51
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070052 # Set indication (checked by vold) that we have finished this action
53 setprop vold.post_fs_data_done 1
54
55on boot
56
57# bluetooth
58 # UART device
59 chmod 0660 /dev/ttyHS2
Matthew Xie1d79ba62012-10-04 11:38:01 -070060 chown bluetooth net_bt_stack /dev/ttyHS2
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070061
62 # power up/down interface
63 chmod 0660 /sys/class/rfkill/rfkill0/state
64 chmod 0660 /sys/class/rfkill/rfkill0/type
Matthew Xie1d79ba62012-10-04 11:38:01 -070065 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
66 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070067
68 # bluetooth MAC address programming
Matthew Xie1d79ba62012-10-04 11:38:01 -070069 chown bluetooth net_bt_stack ro.bt.bdaddr_path
70 chown bluetooth net_bt_stack /system/etc/bluetooth
71 chown bluetooth net_bt_stack /data/misc/bluetooth
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070072 setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr"
73
vito1_leed60d6392012-10-18 15:14:58 +080074 # bluetooth LPM
75 chmod 0220 /proc/bluetooth/sleep/lpm
76 chmod 0220 /proc/bluetooth/sleep/btwrite
Matthew Xiea9c269b2012-10-23 00:09:36 -070077 chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm
78 chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite
vito1_leed60d6392012-10-18 15:14:58 +080079
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070080# NFC
81 setprop ro.nfc.port "I2C"
82 chmod 0660 /dev/pn544
83 chown nfc nfc /dev/pn544
84
85# backlight
86 chown system system /sys/class/backlight/pwm-backlight/brightness
87
88# didim
89 chown system system /sys/class/graphics/fb0/device/smartdimmer/enable
90 chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
91
92# power
93 chown system system /sys/kernel/tegra_cap/core_cap_level
94 chown system system /sys/kernel/tegra_cap/core_cap_state
95 chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap
96
97# Sensor
joseph_wu9fcf0612012-05-31 20:37:20 -070098# iio
99 chown system system /dev/iio:device0
100 chown system system /sys/bus/iio/devices/trigger0/name
101 chown system system /sys/bus/iio/devices/iio:device0/accl_enable
102 chown system system /sys/bus/iio/devices/iio:device0/accl_matrix
103 chown system system /sys/bus/iio/devices/iio:device0/buffer/length
104 chown system system /sys/bus/iio/devices/iio:device0/buffer/enable
105 chown system system /sys/bus/iio/devices/iio:device0/compass_enable
106 chown system system /sys/bus/iio/devices/iio:device0/compass_matrix
107 chown system system /sys/bus/iio/devices/iio:device0/dmp_on
108 chown system system /sys/bus/iio/devices/iio:device0/dmp_int_on
109 chown system system /sys/bus/iio/devices/iio:device0/gyro_enable
110 chown system system /sys/bus/iio/devices/iio:device0/gyro_matrix
111 chown system system /sys/bus/iio/devices/iio:device0/in_accel_scale
112 chown system system /sys/bus/iio/devices/iio:device0/in_anglvel_scale
113 chown system system /sys/bus/iio/devices/iio:device0/in_magn_scale
114 chown system system /sys/bus/iio/devices/iio:device0/key
115 chown system system /sys/bus/iio/devices/iio:device0/power_state
116 chown system system /sys/bus/iio/devices/iio:device0/sampling_frequency
117 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
118 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
119 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
120 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
121 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
122 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
123 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
124 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
125 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
126 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
127 chown system system /sys/bus/iio/devices/iio:device0/temperature
128 chown system system /sys/bus/iio/devices/iio:device0/trigger/current_trigger
129 chown system system /dev/iio:device1
130 chown system system /sys/bus/iio/devices/trigger1/name
131 chown system system /sys/bus/iio/devices/iio:device1/buffer/length
132 chown system system /sys/bus/iio/devices/iio:device1/buffer/enable
133 chown system system /sys/bus/iio/devices/iio:device1/compass_enable
134 chown system system /sys/bus/iio/devices/iio:device1/compass_matrix
135 chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale
136 chown system system /sys/bus/iio/devices/iio:device1/power_state
137 chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency
138 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
139 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
140 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
141 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
142 chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger
143
144 chmod 600 /dev/iio:device0
145 chmod 600 /sys/bus/iio/devices/trigger0/name
146 chmod 600 /sys/bus/iio/devices/iio:device0/accl_enable
147 chmod 600 /sys/bus/iio/devices/iio:device0/accl_matrix
148 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/length
149 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/enable
150 chmod 600 /sys/bus/iio/devices/iio:device0/compass_enable
151 chmod 600 /sys/bus/iio/devices/iio:device0/compass_matrix
152 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_on
153 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_int_on
154 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_enable
155 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_matrix
156 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_scale
157 chmod 600 /sys/bus/iio/devices/iio:device0/in_anglvel_scale
158 chmod 600 /sys/bus/iio/devices/iio:device0/in_magn_scale
159 chmod 600 /sys/bus/iio/devices/iio:device0/key
160 chmod 600 /sys/bus/iio/devices/iio:device0/power_state
161 chmod 600 /sys/bus/iio/devices/iio:device0/sampling_frequency
162 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
163 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
164 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
165 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
166 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
167 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
168 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
169 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
170 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
171 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
172 chmod 600 /sys/bus/iio/devices/iio:device0/temperature
173 chmod 600 /sys/bus/iio/devices/iio:device0/trigger/current_trigger
174 chmod 600 /dev/iio:device1
175 chmod 600 /sys/bus/iio/devices/trigger1/name
176 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/length
177 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/enable
178 chmod 600 /sys/bus/iio/devices/iio:device1/compass_enable
179 chmod 600 /sys/bus/iio/devices/iio:device1/compass_matrix
180 chmod 600 /sys/bus/iio/devices/iio:device1/in_magn_scale
181 chmod 600 /sys/bus/iio/devices/iio:device1/power_state
182 chmod 600 /sys/bus/iio/devices/iio:device1/sampling_frequency
183 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
184 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
185 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
186 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
187 chmod 600 /sys/bus/iio/devices/iio:device1/trigger/current_trigger
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700188
189# Power management settings
190 write /sys/module/cpu_tegra3/parameters/no_lp 0
191 #write /sys/module/tegra3_emc/parameters/emc_enable 0
192 #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700193 write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
194 write /sys/devices/system/cpu/cpufreq/interactive/input_boost 1
195 write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
196 write /sys/module/cpu_tegra3/parameters/auto_hotplug 1
197 #write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0
198 write /sys/module/cpuidle/parameters/lp2_in_idle 0
199
Nitin Kumbhar2d07ab32012-05-31 12:12:15 -0700200# Interactive governor settings
201 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost_factor
202 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost_factor
203 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
204 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
205 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
206 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
207 chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost
208 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/max_boost
209 chown system system /sys/devices/system/cpu/cpufreq/interactive/sustain_load
210 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/sustain_load
211
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700212# Default Read Ahead value for sdcards
213 write /sys/block/mmcblk0/queue/read_ahead_kb 2048
214 write /sys/block/mmcblk1/queue/read_ahead_kb 2048
215
216# GPS init
217 write /sys/class/gpio/export 162
218 write /sys/class/gpio/gpio162/value 0
219 write /sys/class/gpio/gpio162/direction out
jean_huang7d307be2012-06-05 18:27:02 +0800220 chown gps system /sys/class/gpio/gpio162/value
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700221 chmod 0664 /sys/class/gpio/gpio162/value
222 mkdir /data/gps
jean_huang7d307be2012-06-05 18:27:02 +0800223 chown gps system /data/gps
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700224 chmod 770 /data/gps
jean_huang7d307be2012-06-05 18:27:02 +0800225 chown gps system /dev/ttyHS1
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700226 chmod 0660 /dev/ttyHS1
227
228
229# Load WiFi driver
230
231# BB mapping symbolic name to the logging ttyACM port
232 symlink /dev/ttyACM2 /dev/log_modem
233
234# Touch
235 chown system system /dev/elan-iap
236 chown system system /proc/ektf_dbg
rpcraig182bf252012-11-02 14:54:16 -0400237 restorecon /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700238 start touch_fw_update
239
240# Write BT BD_ADDR
241service btmacreader /system/bin/btmacreader
242 class main
243 oneshot
244
245service wpa_supplicant /system/bin/wpa_supplicant \
246 -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
247 # we will start as root and wpa_supplicant will switch to user wifi
248 # after setting up the capabilities required for WEXT
249 # user wifi
250 # group wifi inet keystore
251 class main
252 socket wpa_wlan0 dgram 660 wifi wifi
253 disabled
254 oneshot
255
256service p2p_supplicant /system/bin/wpa_supplicant \
257 -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -N \
258 -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1
259# we will start as root and wpa_supplicant will switch to user wifi
260# after setting up the capabilities required for WEXT
261# user wifi
262# group wifi inet keystore
263 class main
264 socket wpa_wlan0 dgram 660 wifi wifi
265 disabled
266 oneshot
267
Dmitry Shmidte9741a32012-09-20 12:57:42 -0700268service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700269 class main
270 disabled
271 oneshot
272
273service dhcpcd_p2p /system/bin/dhcpcd -aABKL
274 class main
275 disabled
276 oneshot
277
Dmitry Shmidte9741a32012-09-20 12:57:42 -0700278service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700279 class main
280 disabled
281 oneshot
282
Robert Greenwalt5175d7c2012-12-05 12:22:07 -0800283service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700284 class main
285 disabled
286 oneshot
287
288service iprenew_wlan0 /system/bin/dhcpcd -n
289 class main
290 disabled
291 oneshot
292
293service iprenew_p2p /system/bin/dhcpcd -n
294 class main
295 disabled
296 oneshot
297
298service iprenew_eth0 /system/bin/dhcpcd -n
299 class main
300 disabled
301 oneshot
302
Robert Greenwalt5175d7c2012-12-05 12:22:07 -0800303service iprenew_bt-pan /system/bin/dhcpcd -n
304 class main
305 disabled
306 oneshot
307
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700308#Sensor: load calibration files.
309 service sensors-config /system/bin/sensors-config
310 class main
311 user root
312 oneshot
313#Sensor load calibration files end
314
Jeff Sharkeyc79af0f2012-08-14 21:01:49 -0700315# virtual sdcard daemon running as media_rw (1023)
Jeff Sharkey81005252012-09-11 18:47:12 -0700316service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700317 class late_start
318
319# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys
Jeff Sharkey0f99f772013-03-13 17:06:45 -0700320service bugreport /system/bin/dumpstate -d -p -B \
321 -o /data/data/com.android.shell/files/bugreports/bugreport \
322 -b /system/media/audio/ui/Dock.ogg -e /system/media/audio/ui/Undock.ogg
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700323 class main
324 disabled
325 oneshot
326 keycodes 115 114
327
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700328# Start GPS daemon
329 on boot
330 service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700331 user gps
jean_huang7d307be2012-06-05 18:27:02 +0800332 group system
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700333 class late_start
334
335# Recovery daemon: configure MSC partition
336service recoveryd /system/bin/recoveryd /dev/block/platform/sdhci-tegra.3/by-name/MSC
337 disabled
338 class main
339 user root
340 group root
341 oneshot
342
343on property:sys.shutdown.requested=1recovery
344 start recoveryd
345
346# start tf_daemon service
347service tf_daemon /system/bin/tf_daemon -storageDir /data/tf -d
348 class main
349 user root
rpcraig182bf252012-11-02 14:54:16 -0400350 group shell
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700351
352# may restart due to /data/tf not existing yet
353on property:init.svc.tf_daemon=restarting
354 mkdir /data/tf
355
356#Raydium touch setting
357service rm_ts_service /system/bin/rm_ts_server
358 class main
359
360# create filesystems if necessary
361service setup_fs /system/bin/setup_fs \
362 /dev/block/platform/sdhci-tegra.3/by-name/UDA \
363 /dev/block/platform/sdhci-tegra.3/by-name/CAC
364 class core
365 user root
366 group root
367 oneshot
368
369service touch_fw_update /system/bin/sh -c "echo /system/etc/firmware/touch_fw.ekt > /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw"
370 class main
371 disabled
372 user root
373 group root
374 oneshot
375