import init.flounder.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

on post-fs
    write /sys/power/gpu_power_on 1
    write /sys/module/input_cfboost/parameters/gpu_wakeup 1
    # Turn on swap
    swapon_all /fstab.flounder

    # Swap in only 1 page at a time
    write /proc/sys/vm/page-cluster 0

on post-fs-data
    # Now that are booted all the way and out of mount panics, ensure that we panic on later errors.
    # This is a hack to work around the fact that we can't recover from all errors that would lead to a panic
    # during the initial mount (http://b/17382778), yet we need to panic on emmc errors (http://b/17640053)
    # For a remount only the flags and the target mount point are relevant.
    mount dummy dummy /data remount nosuid nodev noatime rw seclabel,background_gc=on,user_xattr,acl,errors=panic

    mkdir /data/media 0770 media_rw media_rw
    mkdir /data/nvcam 0700 media camera

    # NFC: create data/nfc for nv storage
    mkdir /data/nfc 0770 nfc nfc
    mkdir /data/nfc/param 0770 nfc nfc

    # secure os storage
    mkdir /data/ss 0700 system system

    # for GPS files
    mkdir /data/gps 0770 gps system

    # modem init
    mkdir /data/qcks 0770 system system
    mkdir /data/efs 0771 system system
    mkdir /data/qcks/mdm 0770 system system

    setprop vold.post_fs_data_done 1

on boot
  # bluetooth
    # change back to bluetooth from system
    chown bluetooth net_bt_stack /data/misc/bluetooth

    # power down interface
    write /sys/class/rfkill/rfkill0/state 0

    mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755

    # 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

    write /sys/module/tegra3_emc/parameters/emc_enable 0
    #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 1000000
    #write /sys/module/cpu_tegra/parameters/cpu_user_cap 700000
    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/cpu0/cpufreq/scaling_min_freq 510000
    write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 510000
    #write /sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed 700000
    #write /sys/devices/system/cpu/cpu1/cpufreq/scaling_setspeed 700000
    #write /sys/devices/system/cpu/cpufreq/interactive/boost_factor 2
    #write /sys/devices/system/cpu/cpufreq/interactive/sustain_load 80
    write /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable 0

    restorecon_recursive /sys/devices/system/cpu/cpufreq/interactive
    chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
    chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
    chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads
    chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
    chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
    chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
    chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
    chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
    chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
    chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy

    # Enable CC4
    write /sys/devices/system/cpu/cpu0/cpuidle/state1/disabled 0
    write /sys/devices/system/cpu/cpu1/cpuidle/state1/disabled 0

    # b/13568411: make lazy vfree flush thresholds match flush_tlb_range
    write /proc/sys/vm/lazy_vfree_tlb_flush_all_threshold 524288

    chmod 0444 /sys/kernel/debug/bq2419x-regs

    write /proc/sys/net/core/rmem_max 1048576
    write /proc/sys/net/core/wmem_max 1048576

on fs
    mount_all /fstab.flounder
    setprop ro.crypto.fuse_sdcard true

# 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 battery_charger /charger
    class charger
    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
    disabled
    seclabel u:r:watchdogd:s0

# on userdebug and eng builds, enable kgdb on the serial console
on property:ro.debuggable=1
    write /sys/module/kgdboc/parameters/kgdboc ttyFIQ0
    write /sys/module/fiq_debugger/parameters/kgdb_enable 1

# for loading correct gps hal share libraries
on property:ro.boot.baseband=N/A
    setprop ro.hardware.gps bcm47521
    enable gpsd

on property:ro.boot.baseband=US
    write /sys/module/bcmdhd/parameters/nvram_path /system/etc/wifi/bcmdhd_lte.cal

on property:ro.boot.baseband=ROW
    write /sys/module/bcmdhd/parameters/nvram_path /system/etc/wifi/bcmdhd_lte.cal

on property:ro.baseband=unknown
    setprop ro.hardware.gps bcm47521
    enable gpsd

# for telephony function
on property:ro.boot.baseband=N/A
    setprop ro.radio.noril true
    stop ril-daemon

on property:ro.hw.ks.ready=1
    start ril-daemon

on property:ro.boot.baseband=ROW
    stop ril-daemon
    enable kickstart
    mkdir /dev/socket/qmux_radio 0770 radio radio
    chmod 2770 /dev/socket/qmux_radio
    setprop ro.baseband.arch mdm
    enable qmuxd
    enable netmgrd
    setprop rild.libpath /vendor/lib64/libril-qc-qmi-1.so
    setprop rild.libargs "-e wwan0"

on property:ro.boot.baseband=US
    stop ril-daemon
    enable kickstart
    mkdir /dev/socket/qmux_radio 0770 radio radio
    chmod 2770 /dev/socket/qmux_radio
    setprop ro.baseband.arch mdm
    enable qmuxd
    enable netmgrd
    setprop rild.libpath /vendor/lib64/libril-qc-qmi-1.so
    setprop rild.libargs "-e wwan0"

# 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 late_start
    disabled
    oneshot
    keycodes 114 115 116

service p2p_supplicant /system/bin/wpa_supplicant \
    -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
    -I/system/etc/wifi/p2p_supplicant_overlay.conf \
    -puse_p2p_group_interface=1p2p_device=1 \
    -m/data/misc/wifi/p2p_supplicant.conf \
    -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
    class late_start
    socket wpa_wlan0 dgram 660 wifi wifi
    disabled
    oneshot

service gpsd /system/bin/glgps -c /system/etc/gpsconfig.xml
    class late_start
    disabled
    user gps
    socket gps seqpacket 0660 gps system
    group system inet sdcard_rw sdcard_r

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
    class late_start
    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_bt-pan /system/bin/dhcpcd -aABDKL
    class main
    disabled
    oneshot

service dhcpcd_eth0 /system/bin/dhcpcd -aABDKL
    class late_start
    disabled
    oneshot

service iprenew_wlan0 /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service iprenew_eth0 /system/bin/dhcpcd -n
    class late_start
    disabled
    oneshot

service iprenew_p2p /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service iprenew_bt-pan /system/bin/dhcpcd -n
    class main
    disabled
    oneshot

service kickstart /vendor/bin/qcks -i /vendor/firmware/mdm/image/ -r /data/qcks/mdm/
    class late_start
    disabled
    user system
    group system
    oneshot

service qmuxd /vendor/bin/qmuxd
    class late_start
    disabled
    user system
    group system radio

service netmgrd /vendor/bin/netmgrd
    class late_start
    disabled
    group system radio

service tlk_daemon /vendor/bin/tlk_daemon --storagedir /data/ss
    class main
    group system
