blob: 9e94ca6d6ee8967277de69eadb52118b496aecd6 [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
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070049 # 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
Matthew Xie1d79ba62012-10-04 11:38:01 -070057 chown bluetooth net_bt_stack /dev/ttyHS2
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070058
59 # power up/down interface
60 chmod 0660 /sys/class/rfkill/rfkill0/state
61 chmod 0660 /sys/class/rfkill/rfkill0/type
Matthew Xie1d79ba62012-10-04 11:38:01 -070062 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
63 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070064
65 # bluetooth MAC address programming
Matthew Xie1d79ba62012-10-04 11:38:01 -070066 chown bluetooth net_bt_stack ro.bt.bdaddr_path
67 chown bluetooth net_bt_stack /system/etc/bluetooth
68 chown bluetooth net_bt_stack /data/misc/bluetooth
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070069 setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr"
70
vito1_leed60d6392012-10-18 15:14:58 +080071 # bluetooth LPM
72 chmod 0220 /proc/bluetooth/sleep/lpm
73 chmod 0220 /proc/bluetooth/sleep/btwrite
Matthew Xiea9c269b2012-10-23 00:09:36 -070074 chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm
75 chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite
vito1_leed60d6392012-10-18 15:14:58 +080076
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -070077# NFC
78 setprop ro.nfc.port "I2C"
79 chmod 0660 /dev/pn544
80 chown nfc nfc /dev/pn544
81
82# backlight
83 chown system system /sys/class/backlight/pwm-backlight/brightness
84
85# didim
86 chown system system /sys/class/graphics/fb0/device/smartdimmer/enable
87 chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness
88
89# power
90 chown system system /sys/kernel/tegra_cap/core_cap_level
91 chown system system /sys/kernel/tegra_cap/core_cap_state
92 chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap
93
94# Sensor
joseph_wu9fcf0612012-05-31 20:37:20 -070095# iio
96 chown system system /dev/iio:device0
97 chown system system /sys/bus/iio/devices/trigger0/name
98 chown system system /sys/bus/iio/devices/iio:device0/accl_enable
99 chown system system /sys/bus/iio/devices/iio:device0/accl_matrix
100 chown system system /sys/bus/iio/devices/iio:device0/buffer/length
101 chown system system /sys/bus/iio/devices/iio:device0/buffer/enable
102 chown system system /sys/bus/iio/devices/iio:device0/compass_enable
103 chown system system /sys/bus/iio/devices/iio:device0/compass_matrix
104 chown system system /sys/bus/iio/devices/iio:device0/dmp_on
105 chown system system /sys/bus/iio/devices/iio:device0/dmp_int_on
106 chown system system /sys/bus/iio/devices/iio:device0/gyro_enable
107 chown system system /sys/bus/iio/devices/iio:device0/gyro_matrix
108 chown system system /sys/bus/iio/devices/iio:device0/in_accel_scale
109 chown system system /sys/bus/iio/devices/iio:device0/in_anglvel_scale
110 chown system system /sys/bus/iio/devices/iio:device0/in_magn_scale
111 chown system system /sys/bus/iio/devices/iio:device0/key
112 chown system system /sys/bus/iio/devices/iio:device0/power_state
113 chown system system /sys/bus/iio/devices/iio:device0/sampling_frequency
114 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
115 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
116 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
117 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
118 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
119 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
120 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
121 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
122 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
123 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
124 chown system system /sys/bus/iio/devices/iio:device0/temperature
125 chown system system /sys/bus/iio/devices/iio:device0/trigger/current_trigger
126 chown system system /dev/iio:device1
127 chown system system /sys/bus/iio/devices/trigger1/name
128 chown system system /sys/bus/iio/devices/iio:device1/buffer/length
129 chown system system /sys/bus/iio/devices/iio:device1/buffer/enable
130 chown system system /sys/bus/iio/devices/iio:device1/compass_enable
131 chown system system /sys/bus/iio/devices/iio:device1/compass_matrix
132 chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale
133 chown system system /sys/bus/iio/devices/iio:device1/power_state
134 chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency
135 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
136 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
137 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
138 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
139 chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger
140
141 chmod 600 /dev/iio:device0
142 chmod 600 /sys/bus/iio/devices/trigger0/name
143 chmod 600 /sys/bus/iio/devices/iio:device0/accl_enable
144 chmod 600 /sys/bus/iio/devices/iio:device0/accl_matrix
145 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/length
146 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/enable
147 chmod 600 /sys/bus/iio/devices/iio:device0/compass_enable
148 chmod 600 /sys/bus/iio/devices/iio:device0/compass_matrix
149 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_on
150 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_int_on
151 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_enable
152 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_matrix
153 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_scale
154 chmod 600 /sys/bus/iio/devices/iio:device0/in_anglvel_scale
155 chmod 600 /sys/bus/iio/devices/iio:device0/in_magn_scale
156 chmod 600 /sys/bus/iio/devices/iio:device0/key
157 chmod 600 /sys/bus/iio/devices/iio:device0/power_state
158 chmod 600 /sys/bus/iio/devices/iio:device0/sampling_frequency
159 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en
160 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en
161 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en
162 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en
163 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en
164 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en
165 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en
166 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en
167 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en
168 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en
169 chmod 600 /sys/bus/iio/devices/iio:device0/temperature
170 chmod 600 /sys/bus/iio/devices/iio:device0/trigger/current_trigger
171 chmod 600 /dev/iio:device1
172 chmod 600 /sys/bus/iio/devices/trigger1/name
173 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/length
174 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/enable
175 chmod 600 /sys/bus/iio/devices/iio:device1/compass_enable
176 chmod 600 /sys/bus/iio/devices/iio:device1/compass_matrix
177 chmod 600 /sys/bus/iio/devices/iio:device1/in_magn_scale
178 chmod 600 /sys/bus/iio/devices/iio:device1/power_state
179 chmod 600 /sys/bus/iio/devices/iio:device1/sampling_frequency
180 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en
181 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en
182 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en
183 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en
184 chmod 600 /sys/bus/iio/devices/iio:device1/trigger/current_trigger
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700185
186# Power management settings
187 write /sys/module/cpu_tegra3/parameters/no_lp 0
188 #write /sys/module/tegra3_emc/parameters/emc_enable 0
189 #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700190 write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
191 write /sys/devices/system/cpu/cpufreq/interactive/input_boost 1
192 write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
193 write /sys/module/cpu_tegra3/parameters/auto_hotplug 1
194 #write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0
195 write /sys/module/cpuidle/parameters/lp2_in_idle 0
196
Nitin Kumbhar2d07ab32012-05-31 12:12:15 -0700197# Interactive governor settings
198 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost_factor
199 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost_factor
200 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
201 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load
202 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
203 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
204 chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost
205 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/max_boost
206 chown system system /sys/devices/system/cpu/cpufreq/interactive/sustain_load
207 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/sustain_load
208
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700209# Default Read Ahead value for sdcards
210 write /sys/block/mmcblk0/queue/read_ahead_kb 2048
211 write /sys/block/mmcblk1/queue/read_ahead_kb 2048
212
213# GPS init
214 write /sys/class/gpio/export 162
215 write /sys/class/gpio/gpio162/value 0
216 write /sys/class/gpio/gpio162/direction out
jean_huang7d307be2012-06-05 18:27:02 +0800217 chown gps system /sys/class/gpio/gpio162/value
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700218 chmod 0664 /sys/class/gpio/gpio162/value
219 mkdir /data/gps
jean_huang7d307be2012-06-05 18:27:02 +0800220 chown gps system /data/gps
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700221 chmod 770 /data/gps
jean_huang7d307be2012-06-05 18:27:02 +0800222 chown gps system /dev/ttyHS1
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700223 chmod 0660 /dev/ttyHS1
224
225
226# Load WiFi driver
227
228# BB mapping symbolic name to the logging ttyACM port
229 symlink /dev/ttyACM2 /dev/log_modem
230
231# Touch
232 chown system system /dev/elan-iap
233 chown system system /proc/ektf_dbg
rpcraig182bf252012-11-02 14:54:16 -0400234 restorecon /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700235 start touch_fw_update
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700236
237service wpa_supplicant /system/bin/wpa_supplicant \
238 -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf -e/data/misc/wifi/entropy.bin
239 # we will start as root and wpa_supplicant will switch to user wifi
240 # after setting up the capabilities required for WEXT
241 # user wifi
242 # group wifi inet keystore
243 class main
244 socket wpa_wlan0 dgram 660 wifi wifi
245 disabled
246 oneshot
247
248service p2p_supplicant /system/bin/wpa_supplicant \
249 -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf -N \
250 -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf -e/data/misc/wifi/entropy.bin -puse_p2p_group_interface=1
251# we will start as root and wpa_supplicant will switch to user wifi
252# after setting up the capabilities required for WEXT
253# user wifi
254# group wifi inet keystore
255 class main
256 socket wpa_wlan0 dgram 660 wifi wifi
257 disabled
258 oneshot
259
Dmitry Shmidte9741a32012-09-20 12:57:42 -0700260service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700261 class main
262 disabled
263 oneshot
264
265service dhcpcd_p2p /system/bin/dhcpcd -aABKL
266 class main
267 disabled
268 oneshot
269
Dmitry Shmidte9741a32012-09-20 12:57:42 -0700270service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700271 class main
272 disabled
273 oneshot
274
Robert Greenwalt5175d7c2012-12-05 12:22:07 -0800275service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700276 class main
277 disabled
278 oneshot
279
280service iprenew_wlan0 /system/bin/dhcpcd -n
281 class main
282 disabled
283 oneshot
284
285service iprenew_p2p /system/bin/dhcpcd -n
286 class main
287 disabled
288 oneshot
289
290service iprenew_eth0 /system/bin/dhcpcd -n
291 class main
292 disabled
293 oneshot
294
Robert Greenwalt5175d7c2012-12-05 12:22:07 -0800295service iprenew_bt-pan /system/bin/dhcpcd -n
296 class main
297 disabled
298 oneshot
299
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700300#Sensor: load calibration files.
301 service sensors-config /system/bin/sensors-config
302 class main
303 user root
304 oneshot
305#Sensor load calibration files end
306
Jeff Sharkeyc79af0f2012-08-14 21:01:49 -0700307# virtual sdcard daemon running as media_rw (1023)
Jeff Sharkey81005252012-09-11 18:47:12 -0700308service sdcard /system/bin/sdcard /data/media /mnt/shell/emulated 1023 1023
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700309 class late_start
310
311# bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys
Jeff Sharkey0f99f772013-03-13 17:06:45 -0700312service bugreport /system/bin/dumpstate -d -p -B \
313 -o /data/data/com.android.shell/files/bugreports/bugreport \
314 -b /system/media/audio/ui/Dock.ogg -e /system/media/audio/ui/Undock.ogg
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700315 class main
316 disabled
317 oneshot
318 keycodes 115 114
319
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700320# Start GPS daemon
321 on boot
322 service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700323 user gps
jean_huang7d307be2012-06-05 18:27:02 +0800324 group system
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700325 class late_start
326
327# Recovery daemon: configure MSC partition
328service recoveryd /system/bin/recoveryd /dev/block/platform/sdhci-tegra.3/by-name/MSC
329 disabled
330 class main
331 user root
332 group root
333 oneshot
334
335on property:sys.shutdown.requested=1recovery
336 start recoveryd
337
338# start tf_daemon service
339service tf_daemon /system/bin/tf_daemon -storageDir /data/tf -d
340 class main
341 user root
rpcraig182bf252012-11-02 14:54:16 -0400342 group shell
Jean-Baptiste Queru671476b2012-05-29 10:40:37 -0700343
344# may restart due to /data/tf not existing yet
345on property:init.svc.tf_daemon=restarting
346 mkdir /data/tf
347
348#Raydium touch setting
349service rm_ts_service /system/bin/rm_ts_server
350 class main
351
352# create filesystems if necessary
353service setup_fs /system/bin/setup_fs \
354 /dev/block/platform/sdhci-tegra.3/by-name/UDA \
355 /dev/block/platform/sdhci-tegra.3/by-name/CAC
356 class core
357 user root
358 group root
359 oneshot
360
361service touch_fw_update /system/bin/sh -c "echo /system/etc/firmware/touch_fw.ekt > /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw"
362 class main
363 disabled
364 user root
365 group root
366 oneshot
367