import init.manta.usb.rc
on init
start watchdogd
# 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
# KSM
write /sys/kernel/mm/ksm/pages_to_scan 100
write /sys/kernel/mm/ksm/sleep_millisecs 500
# write /sys/kernel/mm/ksm/run 1
on post-fs-data
mkdir /data/media 0770 media_rw media_rw
setprop vold.post_fs_data_done 1
# permissions for bluetooth.
setprop ro.bt.bdaddr_path "/factory/bluetooth/bt_addr"
chown bluetooth net_bt_stack ro.bt.bdaddr_path
chown bluetooth net_bt_stack /dev/ttySAC0
chmod 0660 /dev/ttySAC0
chmod 0660 /sys/class/rfkill/rfkill0/state
chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/state
chown bluetooth net_bt_stack /sys/class/rfkill/rfkill0/type
on boot
# override init.rc to keep plenty of large order chunks around
# to improve allocation times
write /proc/sys/vm/min_free_order_shift 1
mount debugfs /sys/kernel/debug /sys/kernel/debug
setprop ro.radio.noril yes
# Set up kernel tracing, but disable it by default
chmod 0222 /sys/kernel/debug/tracing/trace_marker
write /sys/kernel/debug/tracing/tracing_on 0
chmod 0444 /sys/kernel/debug/smb347-regs
# Set Mali power policy as Coarse demand
write /sys/devices/platform/mali.0/power_policy coarse_demand
on fs
mkdir /factory 0775 radio radio
mount_all /fstab.manta
restorecon_recursive /factory
mount ext4 /dev/block/platform/dw_mmc.0/by-name/efs /factory ro remount
setprop ro.crypto.fuse_sdcard true
# Permissions for backlight
chmod 0660 /sys/class/backlight/pwm-backlight.0/brightness
chown system system /sys/class/backlight/pwm-backlight.0/brightness
# create data/gps for GPS daemon
chown root system /sys/class/gps/bcm475x/GPS_PWR_EN/value
chmod 0664 /sys/class/gps/bcm475x/GPS_PWR_EN/value
chown root system /sys/class/gps/bcm475x/GPS_nRST/value
chmod 0664 /sys/class/gps/bcm475x/GPS_nRST/value
mkdir /data/gps 771 gps system
chown gps system /data/gps
# NFC: create data/nfc for nv storage
mkdir /data/nfc 770 nfc nfc
mkdir /data/nfc/param 770 nfc nfc
# audio: permissions for voice processing
# global switch for voice processing effects
chown root audio /sys/class/i2c-dev/i2c-4/device/4-003e/voice_processing
chmod 0660 /sys/class/i2c-dev/i2c-4/device/4-003e/voice_processing
# voice processing chip sleep
chown root audio /sys/class/i2c-dev/i2c-4/device/4-003e/sleep
chmod 0660 /sys/class/i2c-dev/i2c-4/device/4-003e/sleep
# voice processing usecase preset
chown root audio /sys/class/i2c-dev/i2c-4/device/4-003e/preset
chmod 0660 /sys/class/i2c-dev/i2c-4/device/4-003e/preset
# voice processing noise suppression level
chown root audio /sys/class/i2c-dev/i2c-4/device/4-003e/tx_ns_level
chmod 0660 /sys/class/i2c-dev/i2c-4/device/4-003e/tx_ns_level
# voice processing AGC enable (TX)
chown root audio /sys/class/i2c-dev/i2c-4/device/4-003e/tx_agc_enable
chmod 0660 /sys/class/i2c-dev/i2c-4/device/4-003e/tx_agc_enable
# voice processing AEC enable
chown root audio /sys/class/i2c-dev/i2c-4/device/4-003e/aec_enable
chmod 0660 /sys/class/i2c-dev/i2c-4/device/4-003e/aec_enable
# 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
service p2p_supplicant /system/bin/wpa_supplicant \
-iwlan0 -Dnl80211 -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 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 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
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
service battery_charger /charger
class charger
critical
seclabel u:r:healthd:s0
# Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
service watchdogd /sbin/watchdogd 10 20
class core
seclabel u:r:watchdogd:s0
service gpsd /system/vendor/bin/gpsd -c /system/vendor/etc/gps.xml
class main
socket gps seqpacket 0660 gps system
user gps
group system inet
# MobiCore startup
service mobicore /system/bin/mcDriverDaemon -r /system/vendor/secapp/020a0000000000000000000000000000.drbin
setenv MC_REGISTRY_PATH /system/vendor/secapp
user drmrpc
group drmrpc
class main
# on userdebug and eng builds, enable kgdb on the serial console
on property:ro.debuggable=1
write /sys/module/kgdboc/parameters/kgdboc ttyFIQ2
write /sys/module/fiq_debugger/parameters/kgdb_enable 1
# bugreport is triggered by holding down volume down, volume up and power
service bugreport /system/bin/dumpstate -d -p -B \
-o /data/data/com.android.shell/files/bugreports/bugreport
class main
disabled
oneshot
keycodes 114 115 116