blob: f3b4db89fb06b12cf3e9bdf909d71314aac91b4e [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
Robert Craig4ce925e2013-03-27 06:12:51 -040027 restorecon /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
28 restorecon /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
29 restorecon /sys/devices/system/cpu/cpufreq/interactive/boost
30 restorecon /sys/devices/system/cpu/cpufreq/interactive/boost_factor
31 restorecon /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
32 restorecon /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
33 restorecon /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
34 restorecon /sys/devices/system/cpu/cpufreq/interactive/input_boost
35 restorecon /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
36 restorecon /sys/devices/system/cpu/cpufreq/interactive/max_boost
37 restorecon /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
38 restorecon /sys/devices/system/cpu/cpufreq/interactive/sustain_load
39 restorecon /sys/devices/system/cpu/cpufreq/interactive/timer_rate
40 restorecon /sys/devices/tegradc.0/smartdimmer/aggressiveness
41 restorecon /sys/devices/tegradc.0/smartdimmer/enable
Nitin Kumbhar31613122012-05-22 17:05:21 -070042
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070043on fs
44 setprop ro.crypto.umount_sd false
45 mount_all /fstab.grouper
Robert Craig4ce925e2013-03-27 06:12:51 -040046 restorecon /dev/block/platform/sdhci-tegra.3/by-name/PER
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070047
48on post-fs-data
49 mkdir /data/misc/wifi 0770 wifi wifi
50 mkdir /data/misc/wifi/sockets 0770 wifi wifi
51 mkdir /data/misc/dhcp 0770 dhcp dhcp
52 chown dhcp dhcp /data/misc/dhcp
53
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070054 mkdir /data/media 0770 media_rw media_rw
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070055
56 # change back to bluetooth from system
Matthew Xie1d79ba62012-10-04 11:38:01 -070057 chown bluetooth net_bt_stack /data/misc/bluetooth
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070058
rpcraig182bf252012-11-02 14:54:16 -040059 # sensors-config
60 mkdir /data/sensors 751 system system
61 mkdir /data/lightsensor 751 system system
62 mkdir /data/calibration
63 mkdir /data/amit
64
65 # btmacreader
66 mkdir /data/mac
67
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070068 # Set indication (checked by vold) that we have finished this action
69 setprop vold.post_fs_data_done 1
70
71on boot
72
73# bluetooth
74 # UART device
75 chmod 0660 /dev/ttyHS2
Matthew Xie1d79ba62012-10-04 11:38:01 -070076 chown bluetooth net_bt_stack /dev/ttyHS2
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070077
78 # power up/down interface
79 chmod 0660 /sys/class/rfkill/rfkill0/state
80 chmod 0660 /sys/class/rfkill/rfkill0/type
Matthew Xie1d79ba62012-10-04 11:38:01 -070081 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
82 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
Robert Craig4ce925e2013-03-27 06:12:51 -040083 restorecon /sys/devices/platform/bcm4330_rfkill/rfkill/rfkill0/state
84 restorecon /sys/devices/platform/bcm4330_rfkill/rfkill/rfkill0/type
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070085
86 # bluetooth MAC address programming
Matthew Xie1d79ba62012-10-04 11:38:01 -070087 chown bluetooth net_bt_stack ro.bt.bdaddr_path
88 chown bluetooth net_bt_stack /system/etc/bluetooth
89 chown bluetooth net_bt_stack /data/misc/bluetooth
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070090 setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr"
91
vito1_leed60d6392012-10-18 15:14:58 +080092 # bluetooth LPM
93 chmod 0220 /proc/bluetooth/sleep/lpm
94 chmod 0220 /proc/bluetooth/sleep/btwrite
Matthew Xiea9c269b2012-10-23 00:09:36 -070095 chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm
96 chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite
vito1_leed60d6392012-10-18 15:14:58 +080097
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070098# NFC
99 setprop ro.nfc.port "I2C"
100 chmod 0660 /dev/pn544
101 chown nfc nfc /dev/pn544
102
103# backlight
104 chown system system /sys/class/backlight/pwm-backlight/brightness
105
106# didim
107 chown system system /sys/class/graphics/fb0/device/smartdimmer/enable
108 chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
109
110# power
111 chown system system /sys/kernel/tegra_cap/core_cap_level
112 chown system system /sys/kernel/tegra_cap/core_cap_state
113 chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap
114
115# Sensor
joseph_wu9fcf0612012-05-31 20:37:20 -0700116# iio
117 chown system system /dev/iio:device0
118 chown system system /sys/bus/iio/devices/trigger0/name
119 chown system system /sys/bus/iio/devices/iio:device0/accl_enable
120 chown system system /sys/bus/iio/devices/iio:device0/accl_matrix
121 chown system system /sys/bus/iio/devices/iio:device0/buffer/length
122 chown system system /sys/bus/iio/devices/iio:device0/buffer/enable
123 chown system system /sys/bus/iio/devices/iio:device0/compass_enable
124 chown system system /sys/bus/iio/devices/iio:device0/compass_matrix
125 chown system system /sys/bus/iio/devices/iio:device0/dmp_on
126 chown system system /sys/bus/iio/devices/iio:device0/dmp_int_on
127 chown system system /sys/bus/iio/devices/iio:device0/gyro_enable
128 chown system system /sys/bus/iio/devices/iio:device0/gyro_matrix
129 chown system system /sys/bus/iio/devices/iio:device0/in_accel_scale
130 chown system system /sys/bus/iio/devices/iio:device0/in_anglvel_scale
131 chown system system /sys/bus/iio/devices/iio:device0/in_magn_scale
132 chown system system /sys/bus/iio/devices/iio:device0/key
133 chown system system /sys/bus/iio/devices/iio:device0/power_state
134 chown system system /sys/bus/iio/devices/iio:device0/sampling_frequency
135 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
136 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
137 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
138 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
139 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
140 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
141 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
142 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
143 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
144 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
145 chown system system /sys/bus/iio/devices/iio:device0/temperature
146 chown system system /sys/bus/iio/devices/iio:device0/trigger/current_trigger
147 chown system system /dev/iio:device1
148 chown system system /sys/bus/iio/devices/trigger1/name
149 chown system system /sys/bus/iio/devices/iio:device1/buffer/length
150 chown system system /sys/bus/iio/devices/iio:device1/buffer/enable
151 chown system system /sys/bus/iio/devices/iio:device1/compass_enable
152 chown system system /sys/bus/iio/devices/iio:device1/compass_matrix
153 chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale
154 chown system system /sys/bus/iio/devices/iio:device1/power_state
155 chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency
156 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
157 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
158 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
159 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
160 chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger
161
162 chmod 600 /dev/iio:device0
163 chmod 600 /sys/bus/iio/devices/trigger0/name
164 chmod 600 /sys/bus/iio/devices/iio:device0/accl_enable
165 chmod 600 /sys/bus/iio/devices/iio:device0/accl_matrix
166 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/length
167 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/enable
168 chmod 600 /sys/bus/iio/devices/iio:device0/compass_enable
169 chmod 600 /sys/bus/iio/devices/iio:device0/compass_matrix
170 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_on
171 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_int_on
172 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_enable
173 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_matrix
174 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_scale
175 chmod 600 /sys/bus/iio/devices/iio:device0/in_anglvel_scale
176 chmod 600 /sys/bus/iio/devices/iio:device0/in_magn_scale
177 chmod 600 /sys/bus/iio/devices/iio:device0/key
178 chmod 600 /sys/bus/iio/devices/iio:device0/power_state
179 chmod 600 /sys/bus/iio/devices/iio:device0/sampling_frequency
180 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
181 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
182 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
183 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
184 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
185 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
186 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
187 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
188 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
189 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
190 chmod 600 /sys/bus/iio/devices/iio:device0/temperature
191 chmod 600 /sys/bus/iio/devices/iio:device0/trigger/current_trigger
192 chmod 600 /dev/iio:device1
193 chmod 600 /sys/bus/iio/devices/trigger1/name
194 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/length
195 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/enable
196 chmod 600 /sys/bus/iio/devices/iio:device1/compass_enable
197 chmod 600 /sys/bus/iio/devices/iio:device1/compass_matrix
198 chmod 600 /sys/bus/iio/devices/iio:device1/in_magn_scale
199 chmod 600 /sys/bus/iio/devices/iio:device1/power_state
200 chmod 600 /sys/bus/iio/devices/iio:device1/sampling_frequency
201 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
202 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
203 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
204 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
205 chmod 600 /sys/bus/iio/devices/iio:device1/trigger/current_trigger
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700206
207# Power management settings
208 write /sys/module/cpu_tegra3/parameters/no_lp 0
209 #write /sys/module/tegra3_emc/parameters/emc_enable 0
210 #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700211 write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
212 write /sys/devices/system/cpu/cpufreq/interactive/input_boost 1
213 write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
214 write /sys/module/cpu_tegra3/parameters/auto_hotplug 1
215 #write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0
216 write /sys/module/cpuidle/parameters/lp2_in_idle 0
217
Nitin Kumbhar2d07ab32012-05-31 12:12:15 -0700218# Interactive governor settings
219 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost_factor
220 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost_factor
221 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
222 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
223 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
224 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
225 chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost
226 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/max_boost
227 chown system system /sys/devices/system/cpu/cpufreq/interactive/sustain_load
228 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/sustain_load
229
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700230# Default Read Ahead value for sdcards
231 write /sys/block/mmcblk0/queue/read_ahead_kb 2048
232 write /sys/block/mmcblk1/queue/read_ahead_kb 2048
233
234# GPS init
235 write /sys/class/gpio/export 162
236 write /sys/class/gpio/gpio162/value 0
237 write /sys/class/gpio/gpio162/direction out
jean_huang7d307be2012-06-05 18:27:02 +0800238 chown gps system /sys/class/gpio/gpio162/value
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700239 chmod 0664 /sys/class/gpio/gpio162/value
240 mkdir /data/gps
jean_huang7d307be2012-06-05 18:27:02 +0800241 chown gps system /data/gps
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700242 chmod 770 /data/gps
jean_huang7d307be2012-06-05 18:27:02 +0800243 chown gps system /dev/ttyHS1
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700244 chmod 0660 /dev/ttyHS1
245
246
247# Load WiFi driver
248
249# BB mapping symbolic name to the logging ttyACM port
250 symlink /dev/ttyACM2 /dev/log_modem
251
252# Touch
253 chown system system /dev/elan-iap
254 chown system system /proc/ektf_dbg
rpcraig182bf252012-11-02 14:54:16 -0400255 restorecon /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700256 start touch_fw_update
257
258# Write BT BD_ADDR
259service btmacreader /system/bin/btmacreader
260 class main
261 oneshot
262
263service wpa_supplicant /system/bin/wpa_supplicant \
264 -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
265 # we will start as root and wpa_supplicant will switch to user wifi
266 # after setting up the capabilities required for WEXT
267 # user wifi
268 # group wifi inet keystore
269 class main
270 socket wpa_wlan0 dgram 660 wifi wifi
271 disabled
272 oneshot
273
274service p2p_supplicant /system/bin/wpa_supplicant \
275 -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -N \
276 -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1
277# we will start as root and wpa_supplicant will switch to user wifi
278# after setting up the capabilities required for WEXT
279# user wifi
280# group wifi inet keystore
281 class main
282 socket wpa_wlan0 dgram 660 wifi wifi
283 disabled
284 oneshot
285
Dmitry Shmidte9741a32012-09-20 12:57:42 -0700286service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700287 class main
288 disabled
289 oneshot
290
291service dhcpcd_p2p /system/bin/dhcpcd -aABKL
292 class main
293 disabled
294 oneshot
295
Dmitry Shmidte9741a32012-09-20 12:57:42 -0700296service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700297 class main
298 disabled
299 oneshot
300
301service dhcpcd_bnep0 /system/bin/dhcpcd -ABKL
302 class main
303 disabled
304 oneshot
305
306service iprenew_wlan0 /system/bin/dhcpcd -n
307 class main
308 disabled
309 oneshot
310
311service iprenew_p2p /system/bin/dhcpcd -n
312 class main
313 disabled
314 oneshot
315
316service iprenew_eth0 /system/bin/dhcpcd -n
317 class main
318 disabled
319 oneshot
320
321#Sensor: load calibration files.
322 service sensors-config /system/bin/sensors-config
323 class main
324 user root
325 oneshot
326#Sensor load calibration files end
327
Jeff Sharkeyc79af0f2012-08-14 21:01:49 -0700328# virtual sdcard daemon running as media_rw (1023)
Jeff Sharkey81005252012-09-11 18:47:12 -0700329service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700330 class late_start
331
332# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys
333service bugreport /system/bin/bugmailer.sh -b /system/media/audio/ui/Dock.ogg -e /system/media/audio/ui/Undock.ogg
334 class main
335 disabled
336 oneshot
337 keycodes 115 114
338
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700339# Start GPS daemon
340 on boot
341 service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700342 user gps
jean_huang7d307be2012-06-05 18:27:02 +0800343 group system
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700344 class late_start
345
346# Recovery daemon: configure MSC partition
347service recoveryd /system/bin/recoveryd /dev/block/platform/sdhci-tegra.3/by-name/MSC
348 disabled
349 class main
350 user root
351 group root
352 oneshot
353
354on property:sys.shutdown.requested=1recovery
355 start recoveryd
356
357# start tf_daemon service
358service tf_daemon /system/bin/tf_daemon -storageDir /data/tf -d
359 class main
360 user root
rpcraig182bf252012-11-02 14:54:16 -0400361 group shell
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700362
363# may restart due to /data/tf not existing yet
364on property:init.svc.tf_daemon=restarting
365 mkdir /data/tf
366
367#Raydium touch setting
368service rm_ts_service /system/bin/rm_ts_server
369 class main
370
371# create filesystems if necessary
372service setup_fs /system/bin/setup_fs \
373 /dev/block/platform/sdhci-tegra.3/by-name/UDA \
374 /dev/block/platform/sdhci-tegra.3/by-name/CAC
375 class core
376 user root
377 group root
378 oneshot
379
380service touch_fw_update /system/bin/sh -c "echo /system/etc/firmware/touch_fw.ekt > /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw"
381 class main
382 disabled
383 user root
384 group root
385 oneshot
386