import init.flounder.usb.rc
import init.flounder_svelte.rc
on init
# Load persistent dm-verity state
verity_load_state
start watchdogd
# Support legacy paths
symlink /sdcard /mnt/sdcard
symlink /sdcard /storage/sdcard0
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/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
# Adjust parameters for dm-verity devices
write /sys/block/dm-0/queue/read_ahead_kb 2048
write /sys/block/dm-1/queue/read_ahead_kb 2048
write /sys/module/dm_verity/parameters/prefetch_cluster 524288
# Update dm-verity state and set partition.*.verified properties
verity_update_state
on verity-logging
exec u:r:slideshow:s0 -- /sbin/slideshow warning/verity_red_1 warning/verity_red_2
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
setprop persist.radio.apm_sim_not_pwdn 1
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"
setprop persist.radio.snapshot_enabled 1
on property:ro.boot.baseband=US
stop ril-daemon
setprop persist.radio.apm_sim_not_pwdn 1
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"
setprop persist.radio.snapshot_enabled 1
on property:audio_hal.period_size=128
write /sys/devices/system/cpu/cpufreq/interactive/rt_priority 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 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