1 import init.grouper.usb.rc 2 3 on early-init 4 mount debugfs debugfs /sys/kernel/debug 5 6 on init 7 # See storage config details at http://source.android.com/tech/storage/ 8 mkdir /mnt/shell/emulated 0700 shell shell 9 mkdir /storage/emulated 0555 root root 10 11 export EXTERNAL_STORAGE /storage/emulated/legacy 12 export EMULATED_STORAGE_SOURCE /mnt/shell/emulated 13 export EMULATED_STORAGE_TARGET /storage/emulated 14 15 # Support legacy paths 16 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 20 21 on 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 26 restorecon /sys/devices/system/cpu 27 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 42 43 on fs 44 setprop ro.crypto.umount_sd false 45 mount_all /fstab.grouper 46 restorecon /dev/block/platform/sdhci-tegra.3/by-name/PER 47 48 on 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 54 mkdir /data/media 0770 media_rw media_rw 55 56 # change back to bluetooth from system 57 chown bluetooth net_bt_stack /data/misc/bluetooth 58 59 # 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 # Set indication (checked by vold) that we have finished this action 66 setprop vold.post_fs_data_done 1 67 68 on boot 69 70 # bluetooth 71 # UART device 72 chmod 0660 /dev/ttyHS2 73 chown bluetooth net_bt_stack /dev/ttyHS2 74 75 # power up/down interface 76 chmod 0660 /sys/class/rfkill/rfkill0/state 77 chmod 0660 /sys/class/rfkill/rfkill0/type 78 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state 79 chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type 80 restorecon /sys/devices/platform/bcm4330_rfkill/rfkill/rfkill0/state 81 restorecon /sys/devices/platform/bcm4330_rfkill/rfkill/rfkill0/type 82 83 # bluetooth MAC address programming 84 chown bluetooth net_bt_stack ro.bt.bdaddr_path 85 chown bluetooth net_bt_stack /system/etc/bluetooth 86 chown bluetooth net_bt_stack /data/misc/bluetooth 87 setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr" 88 89 # bluetooth LPM 90 chmod 0220 /proc/bluetooth/sleep/lpm 91 chmod 0220 /proc/bluetooth/sleep/btwrite 92 chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm 93 chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite 94 95 # NFC 96 setprop ro.nfc.port "I2C" 97 chmod 0660 /dev/pn544 98 chown nfc nfc /dev/pn544 99 100 # backlight 101 chown system system /sys/class/backlight/pwm-backlight/brightness 102 103 # didim 104 chown system system /sys/class/graphics/fb0/device/smartdimmer/enable 105 chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness 106 107 # power 108 chown system system /sys/kernel/tegra_cap/core_cap_level 109 chown system system /sys/kernel/tegra_cap/core_cap_state 110 chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap 111 112 # Sensor 113 # iio 114 chown system system /dev/iio:device0 115 chown system system /sys/bus/iio/devices/trigger0/name 116 chown system system /sys/bus/iio/devices/iio:device0/accl_enable 117 chown system system /sys/bus/iio/devices/iio:device0/accl_matrix 118 chown system system /sys/bus/iio/devices/iio:device0/buffer/length 119 chown system system /sys/bus/iio/devices/iio:device0/buffer/enable 120 chown system system /sys/bus/iio/devices/iio:device0/compass_enable 121 chown system system /sys/bus/iio/devices/iio:device0/compass_matrix 122 chown system system /sys/bus/iio/devices/iio:device0/dmp_on 123 chown system system /sys/bus/iio/devices/iio:device0/dmp_int_on 124 chown system system /sys/bus/iio/devices/iio:device0/gyro_enable 125 chown system system /sys/bus/iio/devices/iio:device0/gyro_matrix 126 chown system system /sys/bus/iio/devices/iio:device0/in_accel_scale 127 chown system system /sys/bus/iio/devices/iio:device0/in_anglvel_scale 128 chown system system /sys/bus/iio/devices/iio:device0/in_magn_scale 129 chown system system /sys/bus/iio/devices/iio:device0/key 130 chown system system /sys/bus/iio/devices/iio:device0/power_state 131 chown system system /sys/bus/iio/devices/iio:device0/sampling_frequency 132 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en 133 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en 134 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en 135 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en 136 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en 137 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en 138 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en 139 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en 140 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en 141 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en 142 chown system system /sys/bus/iio/devices/iio:device0/temperature 143 chown system system /sys/bus/iio/devices/iio:device0/trigger/current_trigger 144 145 # new in MA 5.1.5 146 chown system system /sys/bus/iio/devices/iio:device0/secondary_name 147 chown system system /sys/bus/iio/devices/iio:device0/dmp_firmware 148 chown system system /sys/bus/iio/devices/iio:device0/firmware_loaded 149 chown system system /sys/bus/iio/devices/iio:device0/dmp_event_int_on 150 chown system system /sys/bus/iio/devices/iio:device0/dmp_output_rate 151 chown system system /sys/bus/iio/devices/iio:device0/in_accel_x_offset 152 chown system system /sys/bus/iio/devices/iio:device0/in_accel_y_offset 153 chown system system /sys/bus/iio/devices/iio:device0/in_accel_z_offset 154 chown system system /sys/bus/iio/devices/iio:device0/gyro_fsr 155 ## LPQ 156 chown system system /sys/bus/iio/devices/iio:device0/quaternion_on 157 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_z_en 158 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_y_en 159 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_x_en 160 chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_r_en 161 ## Screen orientation 162 chown system system /sys/bus/iio/devices/iio:device0/event_display_orientation 163 chown system system /sys/bus/iio/devices/iio:device0/display_orientation_on 164 ## SMD 165 chown system system /sys/bus/iio/devices/iio:device0/event_smd 166 chown system system /sys/bus/iio/devices/iio:device0/smd_enable 167 chown system system /sys/bus/iio/devices/iio:device0/smd_threshold 168 chown system system /sys/bus/iio/devices/iio:device0/smd_delay_threshold 169 chown system system /sys/bus/iio/devices/iio:device0/smd_delay_threshold2 170 ## AMI compass sensor 171 chown system system /dev/iio:device1 172 chown system system /sys/bus/iio/devices/trigger1/name 173 chown system system /sys/bus/iio/devices/iio:device1/buffer/length 174 chown system system /sys/bus/iio/devices/iio:device1/buffer/enable 175 chown system system /sys/bus/iio/devices/iio:device1/compass_enable 176 chown system system /sys/bus/iio/devices/iio:device1/compass_matrix 177 chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale 178 chown system system /sys/bus/iio/devices/iio:device1/power_state 179 chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency 180 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en 181 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en 182 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en 183 chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en 184 chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger 185 186 chmod 600 /dev/iio:device0 187 chmod 600 /sys/bus/iio/devices/trigger0/name 188 chmod 600 /sys/bus/iio/devices/iio:device0/accl_enable 189 chmod 600 /sys/bus/iio/devices/iio:device0/accl_matrix 190 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/length 191 chmod 600 /sys/bus/iio/devices/iio:device0/buffer/enable 192 chmod 600 /sys/bus/iio/devices/iio:device0/compass_enable 193 chmod 600 /sys/bus/iio/devices/iio:device0/compass_matrix 194 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_on 195 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_int_on 196 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_enable 197 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_matrix 198 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_scale 199 chmod 600 /sys/bus/iio/devices/iio:device0/in_anglvel_scale 200 chmod 600 /sys/bus/iio/devices/iio:device0/in_magn_scale 201 chmod 600 /sys/bus/iio/devices/iio:device0/key 202 chmod 600 /sys/bus/iio/devices/iio:device0/power_state 203 chmod 600 /sys/bus/iio/devices/iio:device0/sampling_frequency 204 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en 205 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en 206 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en 207 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en 208 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en 209 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en 210 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en 211 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en 212 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en 213 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en 214 chmod 600 /sys/bus/iio/devices/iio:device0/temperature 215 chmod 600 /sys/bus/iio/devices/iio:device0/trigger/current_trigger 216 # new in MA 5.1.5 217 chmod 600 /sys/bus/iio/devices/iio:device0/secondary_name 218 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_firmware 219 chmod 600 /sys/bus/iio/devices/iio:device0/firmware_loaded 220 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_event_int_on 221 chmod 600 /sys/bus/iio/devices/iio:device0/dmp_output_rate 222 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_x_offset 223 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_y_offset 224 chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_z_offset 225 chmod 600 /sys/bus/iio/devices/iio:device0/gyro_fsr 226 ## LPQ 227 chmod 600 /sys/bus/iio/devices/iio:device0/quaternion_on 228 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_z_en 229 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_y_en 230 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_x_en 231 chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_r_en 232 ## Screen orientation 233 chmod 600 /sys/bus/iio/devices/iio:device0/event_display_orientation 234 chmod 600 /sys/bus/iio/devices/iio:device0/display_orientation_on 235 ## SMD 236 chmod 600 /sys/bus/iio/devices/iio:device0/event_smd 237 chmod 600 /sys/bus/iio/devices/iio:device0/smd_enable 238 chmod 600 /sys/bus/iio/devices/iio:device0/smd_threshold 239 chmod 600 /sys/bus/iio/devices/iio:device0/smd_delay_threshold 240 chmod 600 /sys/bus/iio/devices/iio:device0/smd_delay_threshold2 241 ## AMI compass sensor 242 chmod 600 /dev/iio:device1 243 chmod 600 /sys/bus/iio/devices/trigger1/name 244 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/length 245 chmod 600 /sys/bus/iio/devices/iio:device1/buffer/enable 246 chmod 600 /sys/bus/iio/devices/iio:device1/compass_enable 247 chmod 600 /sys/bus/iio/devices/iio:device1/compass_matrix 248 chmod 600 /sys/bus/iio/devices/iio:device1/in_magn_scale 249 chmod 600 /sys/bus/iio/devices/iio:device1/power_state 250 chmod 600 /sys/bus/iio/devices/iio:device1/sampling_frequency 251 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en 252 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en 253 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en 254 chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en 255 chmod 600 /sys/bus/iio/devices/iio:device1/trigger/current_trigger 256 257 # Power management settings 258 write /sys/module/cpu_tegra3/parameters/no_lp 0 259 #write /sys/module/tegra3_emc/parameters/emc_enable 0 260 #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000 261 write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2 262 write /sys/devices/system/cpu/cpufreq/interactive/input_boost 1 263 write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80 264 write /sys/module/cpu_tegra3/parameters/auto_hotplug 1 265 #write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0 266 write /sys/module/cpuidle/parameters/lp2_in_idle 0 267 268 # Interactive governor settings 269 chown system system /sys/devices/system/cpu/cpufreq/interactive/boost_factor 270 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost_factor 271 chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load 272 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load 273 chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 274 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy 275 chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost 276 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/max_boost 277 chown system system /sys/devices/system/cpu/cpufreq/interactive/sustain_load 278 chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/sustain_load 279 280 # Default Read Ahead value for sdcards 281 write /sys/block/mmcblk0/queue/read_ahead_kb 2048 282 write /sys/block/mmcblk1/queue/read_ahead_kb 2048 283 284 # GPS init 285 write /sys/class/gpio/export 162 286 write /sys/class/gpio/gpio162/value 0 287 write /sys/class/gpio/gpio162/direction out 288 chown gps system /sys/class/gpio/gpio162/value 289 chmod 0664 /sys/class/gpio/gpio162/value 290 mkdir /data/gps 291 chown gps system /data/gps 292 chmod 770 /data/gps 293 chown gps system /dev/ttyHS1 294 chmod 0660 /dev/ttyHS1 295 296 297 # Load WiFi driver 298 299 # BB mapping symbolic name to the logging ttyACM port 300 symlink /dev/ttyACM2 /dev/log_modem 301 302 # Touch 303 chown system system /dev/elan-iap 304 chown system system /proc/ektf_dbg 305 restorecon /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw 306 start touch_fw_update 307 308 service wpa_supplicant /system/bin/wpa_supplicant \ 309 -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ 310 -I/system/etc/wifi/wpa_supplicant_overlay.conf \ 311 -O/data/misc/wifi/sockets \ 312 -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 313 # we will start as root and wpa_supplicant will switch to user wifi 314 # after setting up the capabilities required for WEXT 315 # user wifi 316 # group wifi inet keystore 317 class main 318 socket wpa_wlan0 dgram 660 wifi wifi 319 disabled 320 oneshot 321 322 service p2p_supplicant /system/bin/wpa_supplicant \ 323 -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf \ 324 -I/system/etc/wifi/wpa_supplicant_overlay.conf \ 325 -O/data/misc/wifi/sockets -N \ 326 -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf \ 327 -I/system/etc/wifi/p2p_supplicant_overlay.conf \ 328 -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin \ 329 -g@android:wpa_wlan0 330 # we will start as root and wpa_supplicant will switch to user wifi 331 # after setting up the capabilities required for WEXT 332 # user wifi 333 # group wifi inet keystore 334 class main 335 socket wpa_wlan0 dgram 660 wifi wifi 336 disabled 337 oneshot 338 339 service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL 340 class main 341 disabled 342 oneshot 343 344 service dhcpcd_p2p /system/bin/dhcpcd -aABKL 345 class main 346 disabled 347 oneshot 348 349 service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf 350 class main 351 disabled 352 oneshot 353 354 service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL 355 class main 356 disabled 357 oneshot 358 359 service iprenew_wlan0 /system/bin/dhcpcd -n 360 class main 361 disabled 362 oneshot 363 364 service iprenew_p2p /system/bin/dhcpcd -n 365 class main 366 disabled 367 oneshot 368 369 service iprenew_eth0 /system/bin/dhcpcd -n 370 class main 371 disabled 372 oneshot 373 374 service iprenew_bt-pan /system/bin/dhcpcd -n 375 class main 376 disabled 377 oneshot 378 379 #Sensor: load calibration files. 380 service sensors-config /system/bin/sensors-config 381 class main 382 user root 383 oneshot 384 #Sensor load calibration files end 385 386 # virtual sdcard daemon running as media_rw (1023) 387 service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated 388 class late_start 389 390 # bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys 391 service bugreport /system/bin/dumpstate -d -p -B \ 392 -o /data/data/com.android.shell/files/bugreports/bugreport \ 393 -b /system/media/audio/ui/Dock.ogg -e /system/media/audio/ui/Undock.ogg 394 class main 395 disabled 396 oneshot 397 keycodes 115 114 398 399 # Start GPS daemon 400 on boot 401 service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml 402 user gps 403 group system 404 class late_start 405 406 # Recovery daemon: configure MSC partition 407 service recoveryd /system/bin/recoveryd /dev/block/platform/sdhci-tegra.3/by-name/MSC 408 disabled 409 class main 410 user root 411 group root 412 oneshot 413 414 on property:sys.shutdown.requested=1recovery 415 start recoveryd 416 417 # start tf_daemon service 418 service tf_daemon /system/bin/tf_daemon -storageDir /data/tf -d 419 class main 420 user root 421 group shell 422 423 # may restart due to /data/tf not existing yet 424 on property:init.svc.tf_daemon=restarting 425 mkdir /data/tf 426 427 #Raydium touch setting 428 service rm_ts_service /system/bin/rm_ts_server 429 class main 430 431 # create filesystems if necessary 432 service setup_fs /system/bin/setup_fs \ 433 /dev/block/platform/sdhci-tegra.3/by-name/UDA \ 434 /dev/block/platform/sdhci-tegra.3/by-name/CAC 435 class core 436 user root 437 group root 438 oneshot 439 440 service touch_fw_update /system/bin/sh -c "echo /system/etc/firmware/touch_fw.ekt > /sys/bus/i2c/drivers/elan-ktf3k/1-0010/update_fw" 441 class main 442 disabled 443 user root 444 group root 445 oneshot 446 447