import init.${ro.hardware}.usb.rc
import init.${ro.hardware}.power.rc

on fs
    mount_all /vendor/etc/init/fstab.${ro.hardware}
    swapon_all /vendor/etc/init/fstab.${ro.hardware}
    setprop ro.crypto.fuse_sdcard false

on init
    # For legacy support
    # See storage config details at http://source.android.com/tech/storage/
    # since /storage is mounted on post-fs in init.rc
    symlink /sdcard /storage/sdcard0

    # Initialize cpusets to boot-time values
    write /dev/cpuset/foreground/cpus 0-7
    write /dev/cpuset/background/cpus 0-7
    write /dev/cpuset/system-background/cpus 0-7
    write /dev/cpuset/top-app/cpus 0-7

on boot
    # fake some battery state
    setprop status.battery.state Slow
    setprop status.battery.level 5
    setprop status.battery.level_raw  50
    setprop status.battery.level_scale 9

on early-boot
    mount debugfs debugfs /sys/kernel/debug
    chmod 755 /sys/kernel/debug
    chmod 755 /sys/kernel/debug/sync
    chown graphics graphics /sys/kernel/debug/sync/sw_sync
    chmod 777 /sys/kernel/debug/sync/sw_sync
    chown graphics graphics /sys/kernel/debug/sync/info

    setprop ro.hardware.gralloc gbm
    setprop ro.hardware.hwcomposer drm
    setprop debug.sf.no_hw_vsync 1
    setprop hwc.drm.use_framebuffer_target 1
    setprop hwc.drm.use_overlay_planes 0
    setprop ro.sf.lcd_density 160

    # Set supported opengles version
    setprop ro.opengles.version 196608

    # If an app forces screen rotation, revert it once the apps closes
    setprop persist.demo.rotationlock 1

on zygote-start
    mkdir /data/vendor/wifi 0770 wifi wifi
    mkdir /data/vendor/wifi/wpa 0770 wifi wifi
    mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi

on property:sys.boot_completed=1
    # update cpuset now that processors are up
    # Foreground should contain most cores (7 is reserved for top-app)
    write /dev/cpuset/foreground/cpus 0-6

    # top-app gets all cpus (including reserved #7)
    write /dev/cpuset/top-app/cpus 0-7

    #background contains a small subset (generally one little core)
    write /dev/cpuset/background/cpus 0

    # add system-background cpuset, a new cpuset for system services
    # that should not run on larger cores
    # system-background is for system tasks that should only run on
    # little cores, not on bigs to be used only by init
    write /dev/cpuset/system-background/cpus 0-3

service wpa_supplicant /vendor/bin/hw/wpa_supplicant \
                       -Dnl80211 -g@android:wpa_wlan0
    interface android.hardware.wifi.supplicant@1.0::ISupplicant default
    interface android.hardware.wifi.supplicant@1.1::ISupplicant default
    socket wpa_wlan0 dgram 660 wifi wifi
    class main
    disabled
    oneshot
