Home | History | Annotate | Download | only in dragon
      1 import init.dragon.usb.rc
      2 
      3 on early-init
      4     mount debugfs /sys/kernel/debug /sys/kernel/debug mode=755
      5 
      6 on init
      7     symlink /sdcard /storage/sdcard0
      8 
      9     # Setup zram options
     10     write /sys/block/zram0/comp_algorithm lz4
     11     write /sys/block/zram0/max_comp_streams 4
     12 
     13     setprop ro.hardware.gralloc tegra
     14     setprop ro.hardware.hwcomposer drm
     15     setprop hwc.drm.device /dev/dri/card1
     16     setprop persist.tegra.compression off
     17     setprop persist.tegra.decompression disabled
     18     setprop ro.radio.noril yes
     19     setprop persist.tegra.nvblit.engine gpu
     20 
     21     # GL driver parameters for tiled cache size and efficient tex fetch
     22     setprop persist.tegra.0x523dc5 0x3f000000
     23     setprop persist.tegra.58027529 0x00000002
     24     setprop persist.tegra.a3456abe 0x087f6080
     25 
     26     # fix navigation bar not showing
     27     setprop qemu.hw.mainkeys 0
     28     start watchdogd
     29 
     30 on late-init
     31     # Setting slice_idle to 0 for CFQ, so make sure the scheduler is CFQ.
     32     write /sys/block/mmcblk0/queue/scheduler cfq
     33     write /sys/block/mmcblk0/queue/iosched/slice_idle 0
     34 
     35     # enable rcu_expedited
     36     write /sys/kernel/rcu_expedited 1
     37 
     38 on early-boot
     39     # Update dm-verity state and set partition.*.verified properties
     40     verity_update_state
     41 
     42 # Set watchdog timer to 30 seconds and pet it every 10 seconds to get a 20 second margin
     43 service watchdogd /sbin/watchdogd 10 20
     44     class core
     45     seclabel u:r:watchdogd:s0
     46 
     47 on post-fs
     48     # Turn on swap
     49     swapon_all /fstab.dragon
     50 
     51     # Swap in only 1 page at a time
     52     write /proc/sys/vm/page-cluster 0
     53 
     54 on post-fs-data
     55     # Now that are booted all the way and out of mount panics, ensure that we panic on later errors.
     56     # This is a hack to work around the fact that we can't recover from all errors that would lead to a panic
     57     # during the initial mount (http://b/17382778), yet we need to panic on emmc errors (http://b/17640053)
     58     # For a remount only the flags and the target mount point are relevant.
     59     mount dummy dummy /data remount nosuid nodev noatime rw seclabel,background_gc=on,user_xattr,acl,errors=panic
     60 
     61     mkdir /data/nvcam 0700 media camera
     62     mkdir /data/misc/camera 0700 media camera
     63 
     64     # NFC: create data/nfc for nv storage
     65     mkdir /data/nfc 0770 nfc nfc
     66     mkdir /data/nfc/param 0770 nfc nfc
     67 
     68     # secure os storage
     69     mkdir /data/ss 0700 system system
     70     mkdir /data/ss/tlk 0700 system system
     71 
     72     # secure os storage
     73     mkdir /data/ss 0700 system system
     74 
     75     # modem init
     76     mkdir /data/qcks 0770 system system
     77     mkdir /data/efs 0771 system system
     78     mkdir /data/qcks/mdm 0770 system system
     79 
     80     # crash_collector
     81     mkdir /data/system/crash_reports 0700 system system
     82 
     83     # EC/charger logs
     84     mkdir /data/misc/fw_logs 0755 root root
     85 
     86     # touch firmware updater logs
     87     mkdir /data/misc/touchfwup 0750 root log
     88 
     89     # initialize region info
     90     exec -- /system/bin/init_regions.sh
     91 
     92     setprop vold.post_fs_data_done 1
     93 
     94 on boot
     95   # bluetooth
     96     # change back to bluetooth from system
     97     chown bluetooth net_bt_stack /data/misc/bluetooth
     98 
     99     # power down interface
    100     write /sys/class/rfkill/rfkill0/state 0
    101 
    102     write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor interactive
    103     write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor interactive
    104     write /sys/devices/system/cpu/cpu2/cpufreq/scaling_governor interactive
    105     write /sys/devices/system/cpu/cpu3/cpufreq/scaling_governor interactive
    106 
    107     # (crosbug.com/p/46057) : Limit min frequency to 204Mhz for audio latency
    108     write /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq 204000
    109     write /sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq 204000
    110     write /sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq 204000
    111     write /sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq 204000
    112 
    113     restorecon_recursive /sys/devices/system/cpu/cpufreq/interactive
    114     chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    115     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_rate
    116     chown system system /sys/devices/system/cpu/cpufreq/interactive/timer_slack
    117     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/timer_slack
    118     chown system system /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
    119     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/min_sample_time
    120     chown system system /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    121     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/hispeed_freq
    122     chown system system /sys/devices/system/cpu/cpufreq/interactive/target_loads
    123     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/target_loads
    124     chown system system /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    125     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/go_hispeed_load
    126     chown system system /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
    127     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/above_hispeed_delay
    128     chown system system /sys/devices/system/cpu/cpufreq/interactive/boost
    129     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boost
    130     chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse
    131     chown system system /sys/devices/system/cpu/cpufreq/interactive/input_boost
    132     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/input_boost
    133     chown system system /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
    134     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/boostpulse_duration
    135     chown system system /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
    136     chmod 0660 /sys/devices/system/cpu/cpufreq/interactive/io_is_busy
    137     chown system system /sys/devices/57000000.gpu/pstate
    138 
    139     # update foreground cpuset now that processors are up
    140     # reserve CPU 3 for the top app
    141     write /dev/cpuset/foreground/cpus 0-2
    142     write /dev/cpuset/foreground/boost/cpus 0-2
    143     write /dev/cpuset/background/cpus 0
    144     write /dev/cpuset/system-background/cpus 0-1
    145     write /dev/cpuset/top-app/cpus 0-3
    146 
    147     # for gpu cap in battery saver mode
    148     chown system system /sys/kernel/debug/system_edp/capping/force_gpu
    149     chmod 0660 /sys/kernel/debug/system_edp/capping/force_gpu
    150 
    151     # for lightbar
    152     chown system system /sys/class/chromeos/cros_ec/lightbar/userspace_control
    153     chmod 0660 /sys/class/chromeos/cros_ec/lightbar/userspace_control
    154     chown system system /sys/class/chromeos/cros_ec/lightbar/sequence
    155     chmod 0660 /sys/class/chromeos/cros_ec/lightbar/sequence
    156 
    157     # for external power limits
    158     chown system system /sys/class/chromeos/cros_ec/usb-pd-charger/ext_voltage_lim
    159     chmod 0660 /sys/class/chromeos/cros_ec/usb-pd-charger/ext_voltage_lim
    160 
    161     # Enable CC4
    162     write /sys/devices/system/cpu/cpu0/cpuidle/state1/disabled 0
    163     write /sys/devices/system/cpu/cpu1/cpuidle/state1/disabled 0
    164     write /sys/devices/system/cpu/cpu2/cpuidle/state1/disabled 0
    165     write /sys/devices/system/cpu/cpu3/cpuidle/state1/disabled 0
    166 
    167     # b/13568411: make lazy vfree flush thresholds match flush_tlb_range
    168     write /proc/sys/vm/lazy_vfree_tlb_flush_all_threshold 524288
    169 
    170     chmod 0444 /sys/kernel/debug/bq2419x-regs
    171 
    172     write /proc/sys/net/core/rmem_max 1048576
    173     write /proc/sys/net/core/wmem_max 1048576
    174 
    175     # Execute crash_collector when a process is crashing.
    176     write /proc/sys/kernel/core_pattern "|/system/bin/crash_dispatcher %p %u %g %s %t %e"
    177     write /proc/sys/kernel/core_pipe_limit 4
    178     write /proc/self/coredump_filter 0x1
    179 
    180     # enable GPU dvfs
    181     write /sys/class/drm/card0/device/pstate auto
    182 
    183     # set GPU auto suspend
    184     write /sys/devices/57000000.gpu/power/autosuspend_delay_ms 520
    185 
    186     # Raise RLIMIT_NOFILE softlimit to workaround b/28277319. This is intended
    187     # to go away at some point, do not copy it to new devices! This makes fd
    188     # leaks much harder to notice and debug.
    189     setrlimit 7 2048 4096
    190 
    191 on fs
    192     # Enable verity notification
    193     write /sys/module/dm_verity/parameters/error_behavior notify
    194 
    195     mount_all /fstab.dragon
    196 
    197 # run the touch firmware update script as soon as non-tmpfs /data is ready
    198 on property:vold.decrypt=trigger_restart_framework
    199     exec -- /system/bin/touchfwup.sh
    200 
    201 # tune thermal governor
    202 service tune_therm_gov /system/bin/tune-thermal-gov.sh skin-therm pd_thermal_gov \
    203     max_err_temp 5000
    204     class main
    205     oneshot
    206 
    207 service battery_charger /charger
    208     class charger
    209     seclabel u:r:healthd:s0
    210 
    211 # on userdebug and eng builds, enable kgdb on the serial console
    212 on property:ro.debuggable=1
    213     write /sys/module/kgdboc/parameters/kgdboc ttyFIQ0
    214     write /sys/module/fiq_debugger/parameters/kgdb_enable 1
    215 
    216 # bugreport is triggered by holding down volume down, volume up and power
    217 service bugreport /system/bin/dumpstate -d -p -B -z \
    218         -o /data/user_de/0/com.android.shell/files/bugreports/bugreport
    219     class late_start
    220     disabled
    221     oneshot
    222     keycodes 114 115 116
    223 
    224 service p2p_supplicant /system/bin/wpa_supplicant \
    225     -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
    226     -I/system/etc/wifi/p2p_supplicant_overlay.conf \
    227     -puse_p2p_group_interface=1p2p_device=1 \
    228     -m/data/misc/wifi/p2p_supplicant.conf \
    229     -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
    230     class late_start
    231     socket wpa_wlan0 dgram 660 wifi wifi
    232     disabled
    233     oneshot
    234 
    235 service wpa_supplicant /system/bin/wpa_supplicant \
    236     -iwlan0 -Dnl80211 -c/data/misc/wifi/wpa_supplicant.conf \
    237     -I/system/etc/wifi/wpa_supplicant_overlay.conf \
    238     -e/data/misc/wifi/entropy.bin -g@android:wpa_wlan0
    239     class late_start
    240     socket wpa_wlan0 dgram 660 wifi wifi
    241     disabled
    242     oneshot
    243 
    244 service fwtool /system/bin/fwtool mark_boot success
    245     class late_start
    246     user root
    247     oneshot
    248 
    249 service kickstart /vendor/bin/qcks -i /vendor/firmware/mdm/image/ -r /data/qcks/mdm/
    250     class late_start
    251     disabled
    252     user system
    253     group system
    254     oneshot
    255 
    256 service qmuxd /vendor/bin/qmuxd
    257     class late_start
    258     disabled
    259     user system
    260     group system radio
    261 
    262 service netmgrd /vendor/bin/netmgrd
    263     class late_start
    264     disabled
    265     group system radio
    266 
    267 service tlk_daemon /vendor/bin/tlk_daemon --storagedir /data/ss --rpmbdev /dev/block/mmcblk0rpmb
    268     class main
    269     group system
    270 
    271 on property:debug.bq25892=dump
    272     exec - root root system -- /system/bin/dump_bq25892.sh
    273