| import init.grouper.usb.rc |
| |
| on early-init |
| mount debugfs debugfs /sys/kernel/debug |
| |
| on init |
| # See storage config details at http://source.android.com/tech/storage/ |
| mkdir /mnt/shell/emulated 0700 shell shell |
| mkdir /storage/emulated 0555 root root |
| |
| export EXTERNAL_STORAGE /storage/emulated/legacy |
| export EMULATED_STORAGE_SOURCE /mnt/shell/emulated |
| export EMULATED_STORAGE_TARGET /storage/emulated |
| |
| # Support legacy paths |
| symlink /storage/emulated/legacy /sdcard |
| symlink /storage/emulated/legacy /mnt/sdcard |
| symlink /storage/emulated/legacy /storage/sdcard0 |
| symlink /mnt/shell/emulated/0 /storage/emulated/legacy |
| |
| on early-boot |
| write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive |
| write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive |
| write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive |
| write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive |
| |
| on fs |
| setprop ro.crypto.umount_sd false |
| mount_all /fstab.grouper |
| |
| on post-fs-data |
| mkdir /data/media 0770 media_rw media_rw |
| |
| # change back to bluetooth from system |
| chown bluetooth net_bt_stack /data/misc/bluetooth |
| |
| # sensors-config |
| mkdir /data/sensors 751 |
| # /data/sensors was owned by system/system earlier. |
| # Force it to root/root if it already exists. |
| chown root root /data/sensors |
| mkdir /data/lightsensor 751 |
| # /data/lightsensor was owned by system/system earlier. |
| # Force it to root/root if it already exists. |
| chown root root /data/lightsensor |
| mkdir /data/calibration |
| mkdir /data/amit |
| |
| # Set indication (checked by vold) that we have finished this action |
| setprop vold.post_fs_data_done 1 |
| |
| on boot |
| |
| # bluetooth |
| # UART device |
| chmod 0660 /dev/ttyHS2 |
| chown bluetooth net_bt_stack /dev/ttyHS2 |
| |
| # power up/down interface |
| chmod 0660 /sys/class/rfkill/rfkill0/state |
| chmod 0660 /sys/class/rfkill/rfkill0/type |
| chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state |
| chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type |
| |
| # bluetooth MAC address programming |
| chown bluetooth net_bt_stack ro.bt.bdaddr_path |
| chown bluetooth net_bt_stack /system/etc/bluetooth |
| chown bluetooth net_bt_stack /data/misc/bluetooth |
| setprop ro.bt.bdaddr_path "/data/misc/bluetooth/bdaddr" |
| |
| # bluetooth LPM |
| chmod 0220 /proc/bluetooth/sleep/lpm |
| chmod 0220 /proc/bluetooth/sleep/btwrite |
| chown bluetooth net_bt_stack /proc/bluetooth/sleep/lpm |
| chown bluetooth net_bt_stack /proc/bluetooth/sleep/btwrite |
| |
| # NFC |
| setprop ro.nfc.port "I2C" |
| chmod 0660 /dev/pn544 |
| chown nfc nfc /dev/pn544 |
| |
| # backlight |
| chown system system /sys/class/backlight/pwm-backlight/brightness |
| |
| # didim |
| chown system system /sys/class/graphics/fb0/device/smartdimmer/enable |
| chown system system /sys/class/graphics/fb0/device/smartdimmer/aggressiveness |
| |
| # power |
| chown system system /sys/kernel/tegra_cap/core_cap_level |
| chown system system /sys/kernel/tegra_cap/core_cap_state |
| chown system system /sys/module/cpu_tegra/parameters/cpu_user_cap |
| |
| # Sensor |
| # iio |
| chown system system /dev/iio:device0 |
| chown system system /sys/bus/iio/devices/trigger0/name |
| chown system system /sys/bus/iio/devices/iio:device0/accl_enable |
| chown system system /sys/bus/iio/devices/iio:device0/accl_matrix |
| chown system system /sys/bus/iio/devices/iio:device0/buffer/length |
| chown system system /sys/bus/iio/devices/iio:device0/buffer/enable |
| chown system system /sys/bus/iio/devices/iio:device0/compass_enable |
| chown system system /sys/bus/iio/devices/iio:device0/compass_matrix |
| chown system system /sys/bus/iio/devices/iio:device0/dmp_on |
| chown system system /sys/bus/iio/devices/iio:device0/dmp_int_on |
| chown system system /sys/bus/iio/devices/iio:device0/gyro_enable |
| chown system system /sys/bus/iio/devices/iio:device0/gyro_matrix |
| chown system system /sys/bus/iio/devices/iio:device0/in_accel_scale |
| chown system system /sys/bus/iio/devices/iio:device0/in_anglvel_scale |
| chown system system /sys/bus/iio/devices/iio:device0/in_magn_scale |
| chown system system /sys/bus/iio/devices/iio:device0/key |
| chown system system /sys/bus/iio/devices/iio:device0/power_state |
| chown system system /sys/bus/iio/devices/iio:device0/sampling_frequency |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en |
| chown system system /sys/bus/iio/devices/iio:device0/temperature |
| chown system system /sys/bus/iio/devices/iio:device0/trigger/current_trigger |
| |
| # new in MA 5.1.5 |
| chown system system /sys/bus/iio/devices/iio:device0/secondary_name |
| chown system system /sys/bus/iio/devices/iio:device0/dmp_firmware |
| chown system system /sys/bus/iio/devices/iio:device0/firmware_loaded |
| chown system system /sys/bus/iio/devices/iio:device0/dmp_event_int_on |
| chown system system /sys/bus/iio/devices/iio:device0/dmp_output_rate |
| chown system system /sys/bus/iio/devices/iio:device0/in_accel_x_offset |
| chown system system /sys/bus/iio/devices/iio:device0/in_accel_y_offset |
| chown system system /sys/bus/iio/devices/iio:device0/in_accel_z_offset |
| chown system system /sys/bus/iio/devices/iio:device0/gyro_fsr |
| ## LPQ |
| chown system system /sys/bus/iio/devices/iio:device0/quaternion_on |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_z_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_y_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_x_en |
| chown system system /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_r_en |
| ## Screen orientation |
| chown system system /sys/bus/iio/devices/iio:device0/event_display_orientation |
| chown system system /sys/bus/iio/devices/iio:device0/display_orientation_on |
| ## SMD |
| chown system system /sys/bus/iio/devices/iio:device0/event_smd |
| chown system system /sys/bus/iio/devices/iio:device0/smd_enable |
| chown system system /sys/bus/iio/devices/iio:device0/smd_threshold |
| chown system system /sys/bus/iio/devices/iio:device0/smd_delay_threshold |
| chown system system /sys/bus/iio/devices/iio:device0/smd_delay_threshold2 |
| ## AMI compass sensor |
| chown system system /dev/iio:device1 |
| chown system system /sys/bus/iio/devices/trigger1/name |
| chown system system /sys/bus/iio/devices/iio:device1/buffer/length |
| chown system system /sys/bus/iio/devices/iio:device1/buffer/enable |
| chown system system /sys/bus/iio/devices/iio:device1/compass_enable |
| chown system system /sys/bus/iio/devices/iio:device1/compass_matrix |
| chown system system /sys/bus/iio/devices/iio:device1/in_magn_scale |
| chown system system /sys/bus/iio/devices/iio:device1/power_state |
| chown system system /sys/bus/iio/devices/iio:device1/sampling_frequency |
| chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en |
| chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en |
| chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en |
| chown system system /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en |
| chown system system /sys/bus/iio/devices/iio:device1/trigger/current_trigger |
| |
| chmod 600 /dev/iio:device0 |
| chmod 600 /sys/bus/iio/devices/trigger0/name |
| chmod 600 /sys/bus/iio/devices/iio:device0/accl_enable |
| chmod 600 /sys/bus/iio/devices/iio:device0/accl_matrix |
| chmod 600 /sys/bus/iio/devices/iio:device0/buffer/length |
| chmod 600 /sys/bus/iio/devices/iio:device0/buffer/enable |
| chmod 600 /sys/bus/iio/devices/iio:device0/compass_enable |
| chmod 600 /sys/bus/iio/devices/iio:device0/compass_matrix |
| chmod 600 /sys/bus/iio/devices/iio:device0/dmp_on |
| chmod 600 /sys/bus/iio/devices/iio:device0/dmp_int_on |
| chmod 600 /sys/bus/iio/devices/iio:device0/gyro_enable |
| chmod 600 /sys/bus/iio/devices/iio:device0/gyro_matrix |
| chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_scale |
| chmod 600 /sys/bus/iio/devices/iio:device0/in_anglvel_scale |
| chmod 600 /sys/bus/iio/devices/iio:device0/in_magn_scale |
| chmod 600 /sys/bus/iio/devices/iio:device0/key |
| chmod 600 /sys/bus/iio/devices/iio:device0/power_state |
| chmod 600 /sys/bus/iio/devices/iio:device0/sampling_frequency |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_x_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_y_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_accel_z_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_x_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_y_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_anglvel_z_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_x_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_y_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_magn_z_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_timestamp_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/temperature |
| chmod 600 /sys/bus/iio/devices/iio:device0/trigger/current_trigger |
| # new in MA 5.1.5 |
| chmod 600 /sys/bus/iio/devices/iio:device0/secondary_name |
| chmod 600 /sys/bus/iio/devices/iio:device0/dmp_firmware |
| chmod 600 /sys/bus/iio/devices/iio:device0/firmware_loaded |
| chmod 600 /sys/bus/iio/devices/iio:device0/dmp_event_int_on |
| chmod 600 /sys/bus/iio/devices/iio:device0/dmp_output_rate |
| chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_x_offset |
| chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_y_offset |
| chmod 600 /sys/bus/iio/devices/iio:device0/in_accel_z_offset |
| chmod 600 /sys/bus/iio/devices/iio:device0/gyro_fsr |
| ## LPQ |
| chmod 600 /sys/bus/iio/devices/iio:device0/quaternion_on |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_z_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_y_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_x_en |
| chmod 600 /sys/bus/iio/devices/iio:device0/scan_elements/in_quaternion_r_en |
| ## Screen orientation |
| chmod 600 /sys/bus/iio/devices/iio:device0/event_display_orientation |
| chmod 600 /sys/bus/iio/devices/iio:device0/display_orientation_on |
| ## SMD |
| chmod 600 /sys/bus/iio/devices/iio:device0/event_smd |
| chmod 600 /sys/bus/iio/devices/iio:device0/smd_enable |
| chmod 600 /sys/bus/iio/devices/iio:device0/smd_threshold |
| chmod 600 /sys/bus/iio/devices/iio:device0/smd_delay_threshold |
| chmod 600 /sys/bus/iio/devices/iio:device0/smd_delay_threshold2 |
| ## AMI compass sensor |
| chmod 600 /dev/iio:device1 |
| chmod 600 /sys/bus/iio/devices/trigger1/name |
| chmod 600 /sys/bus/iio/devices/iio:device1/buffer/length |
| chmod 600 /sys/bus/iio/devices/iio:device1/buffer/enable |
| chmod 600 /sys/bus/iio/devices/iio:device1/compass_enable |
| chmod 600 /sys/bus/iio/devices/iio:device1/compass_matrix |
| chmod 600 /sys/bus/iio/devices/iio:device1/in_magn_scale |
| chmod 600 /sys/bus/iio/devices/iio:device1/power_state |
| chmod 600 /sys/bus/iio/devices/iio:device1/sampling_frequency |
| chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_x_en |
| chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_y_en |
| chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_magn_z_en |
| chmod 600 /sys/bus/iio/devices/iio:device1/scan_elements/in_timestamp_en |
| chmod 600 /sys/bus/iio/devices/iio:device1/trigger/current_trigger |
| |
| # Power management settings |
| write /sys/module/cpu_tegra3/parameters/no_lp 0 |
| #write /sys/module/tegra3_emc/parameters/emc_enable 0 |
| #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000 |
| write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2 |
| write /sys/devices/system/cpu/cpufreq/interactive/input_boost 1 |
| write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80 |
| write /sys/module/cpu_tegra3/parameters/auto_hotplug 1 |
| #write /sys/module/cpuidle_t3/parameters/lp2_0_in_idle 0 |
| write /sys/module/cpuidle/parameters/lp2_in_idle 0 |
| |
| # Interactive governor settings |
| chown system system /sys/devices/system/cpu/cpufreq/interactive/boost_factor |
| chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost_factor |
| chown system system /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load |
| chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_maxspeed_load |
| chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy |
| chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy |
| chown system system /sys/devices/system/cpu/cpufreq/interactive/max_boost |
| chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/max_boost |
| chown system system /sys/devices/system/cpu/cpufreq/interactive/sustain_load |
| chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/sustain_load |
| chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq |
| chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq |
| chown system system /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq |
| chmod 0660 /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq |
| chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq |
| chmod 0660 /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq |
| chown system system /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq |
| chmod 0660 /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq |
| chown system system /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq |
| chmod 0660 /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq |
| chown system system /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq |
| chmod 0660 /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq |
| chown system system /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq |
| chmod 0660 /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq |
| chown system system /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq |
| chmod 0660 /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq |
| |
| # Default Read Ahead value for sdcards |
| write /sys/block/mmcblk0/queue/read_ahead_kb 2048 |
| write /sys/block/mmcblk1/queue/read_ahead_kb 2048 |
| |
| # GPS init |
| write /sys/class/gpio/export 162 |
| write /sys/class/gpio/gpio162/value 0 |
| write /sys/class/gpio/gpio162/direction out |
| chown gps system /sys/class/gpio/gpio162/value |
| chmod 0664 /sys/class/gpio/gpio162/value |
| mkdir /data/gps |
| chown gps system /data/gps |
| chmod 770 /data/gps |
| chown gps system /dev/ttyHS1 |
| chmod 0660 /dev/ttyHS1 |
| |
| |
| # Load WiFi driver |
| |
| # BB mapping symbolic name to the logging ttyACM port |
| symlink /dev/ttyACM2 /dev/log_modem |
| |
| # Touch |
| chown system system /dev/elan-iap |
| chown system system /proc/ektf_dbg |
| start touch_fw_update |
| |
| service wpa_supplicant /system/bin/wpa_supplicant \ |
| -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \ |
| -I/system/etc/wifi/wpa_supplicant_overlay.conf \ |
| -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0 |
| # we will start as root and wpa_supplicant will switch to user wifi |
| # after setting up the capabilities required for WEXT |
| # user wifi |
| # group wifi inet keystore |
| class main |
| socket wpa_wlan0 dgram 660 wifi wifi |
| disabled |
| oneshot |
| |
| service p2p_supplicant /system/bin/wpa_supplicant \ |
| -iwlan0 -Dnl80211 -iwlan0 -c/data/misc/wifi/wpa_supplicant.conf \ |
| -I/system/etc/wifi/wpa_supplicant_overlay.conf -N \ |
| -ip2p0 -Dnl80211 -c /data/misc/wifi/p2p_supplicant.conf \ |
| -I/system/etc/wifi/p2p_supplicant_overlay.conf \ |
| -puse_p2p_group_interface=1 -e/data/misc/wifi/entropy.bin \ |
| -g@android:wpa_wlan0 |
| # we will start as root and wpa_supplicant will switch to user wifi |
| # after setting up the capabilities required for WEXT |
| # user wifi |
| # group wifi inet keystore |
| class main |
| socket wpa_wlan0 dgram 660 wifi wifi |
| disabled |
| oneshot |
| |
| service dhcpcd_wlan0 /system/bin/dhcpcd -aABDKL |
| class main |
| disabled |
| oneshot |
| |
| service dhcpcd_p2p /system/bin/dhcpcd -aABKL |
| class main |
| disabled |
| oneshot |
| |
| service dhcpcd_eth0 /system/bin/dhcpcd -ABDKL -f/system/etc/dhcpcd/dhcpcd.conf |
| class main |
| disabled |
| oneshot |
| |
| service dhcpcd_bt-pan /system/bin/dhcpcd -ABKL |
| class main |
| disabled |
| oneshot |
| |
| service iprenew_wlan0 /system/bin/dhcpcd -n |
| class main |
| disabled |
| oneshot |
| |
| service iprenew_p2p /system/bin/dhcpcd -n |
| class main |
| disabled |
| oneshot |
| |
| service iprenew_eth0 /system/bin/dhcpcd -n |
| class main |
| disabled |
| oneshot |
| |
| service iprenew_bt-pan /system/bin/dhcpcd -n |
| class main |
| disabled |
| oneshot |
| |
| #Sensor: load calibration files. |
| service sensors-config /system/bin/sensors-config |
| class main |
| user root |
| oneshot |
| #Sensor load calibration files end |
| |
| # virtual sdcard daemon running as media_rw (1023) |
| service sdcard /system/bin/sdcard -u 1023 -g 1023 -l /data/media /mnt/shell/emulated |
| class late_start |
| |
| # bugreport is triggered by the VOLUME-DOWN and VOLUME-UP keys |
| service bugreport /system/bin/dumpstate -d -p -B \ |
| -o /data/data/com.android.shell/files/bugreports/bugreport \ |
| -b /system/media/audio/ui/Dock.ogg -e /system/media/audio/ui/Undock.ogg |
| class main |
| disabled |
| oneshot |
| keycodes 115 114 |
| |
| # Start GPS daemon |
| on boot |
| service gps-daemon /system/bin/glgps -c /system/etc/gps/gpsconfig.xml |
| user gps |
| group system |
| class late_start |
| |
| # Recovery daemon: configure MSC partition |
| service recoveryd /system/bin/recoveryd /dev/block/platform/sdhci-tegra.3/by-name/MSC |
| disabled |
| class main |
| user root |
| group root |
| oneshot |
| |
| on property:sys.shutdown.requested=1recovery |
| start recoveryd |
| |
| # start tf_daemon service |
| service tf_daemon /system/bin/tf_daemon -storageDir /data/tf -d |
| class main |
| user root |
| group shell |
| |
| # may restart due to /data/tf not existing yet |
| on property:init.svc.tf_daemon=restarting |
| mkdir /data/tf |
| |
| # create filesystems if necessary |
| service setup_fs /system/bin/setup_fs \ |
| /dev/block/platform/sdhci-tegra.3/by-name/UDA \ |
| /dev/block/platform/sdhci-tegra.3/by-name/CAC |
| class core |
| user root |
| group root |
| oneshot |
| |
| 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" |
| class main |
| disabled |
| user root |
| group root |
| oneshot |
| |