on early-init
#    loglevel 8
    symlink /sdcard /storage/sdcard0
    mkdir /var/run 0755 root root
    mkdir /var/run/media 0755 media root
    mkdir /var/run/system 0755 system root
    mkdir /dev/gce 0750
    chown system system /dev/gce

    mount debugfs debugfs /sys/kernel/debug
    chmod 0755 /sys/kernel/debug
    setprop ro.sf.lcd_density ${ro.boot.lcd_density}


on init
    # ZRAM setup
    write /sys/block/zram0/comp_algorithm lz4


on fs
    mount_all /vendor/etc/fstab.${ro.hardware}
    restorecon_recursive /vendor

    start setup_wifi
    # works around framework netiface enumeration issue
    start rename_eth1


    # TODO(ender): Find better way to talk to serial port.
    chmod 622 /dev/kmsg

    # for GCE camera HAL
    mkdir /var/media 0770 audio media

    chmod 0664 /sys/kernel/debug/ieee80211/phy1/hwsim/group
    chmod 0664 /sys/kernel/debug/ieee80211/phy1/hwsim/ps
    chmod 0664 /sys/kernel/debug/ieee80211/phy0/rc/fixed_rate_idx
    chmod 0664 /sys/kernel/debug/ieee80211/phy0/hwsim/group
    chmod 0664 /sys/kernel/debug/ieee80211/phy0/hwsim/ps
    chmod 0664 /sys/kernel/debug/ieee80211/phy1/rc/fixed_rate_idx

on post-fs
    # Set netd memlock rlimit to 8MB b/119279144
    setrlimit 8 8388608 8388608

on post-fs-data
    start vport_trigger


on late-fs
    write /dev/kmsg "GUEST_BUILD_FINGERPRINT: ${ro.build.fingerprint}"


on boot
    chmod 0660 /dev/cpuctl
    mkdir /data/vendor/wifi 0770 wifi wifi
    mkdir /data/vendor/wifi/wpa 0770 wifi wifi
    mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
    start socket_vsock_proxy


service setup_wifi /vendor/bin/setup_wifi
    oneshot


service rename_eth1 /vendor/bin/rename_netiface eth1 rmnet0
    oneshot


on property:sys.boot_completed=1
    trigger sys-boot-completed-set


# We want one opportunity per boot to enable zram, so we
# use a trigger we fire from the above stanza. If
# persist.sys.zram_enabled becomes true after boot,
# we don't want to run swapon_all at that time.
on sys-boot-completed-set && property:persist.sys.zram_enabled=1
    swapon_all /vendor/etc/fstab.${ro.hardware}


service socket_vsock_proxy /vendor/bin/socket_vsock_proxy -tcp_port=5555 -vsock_port=6520


service vport_trigger /vendor/bin/vport_trigger
    oneshot


on property:vendor.ser.cf-logcat=*
    symlink ${vendor.ser.cf-logcat} /dev/cf-logcat
    enable seriallogging


service seriallogging /system/bin/logcat -b all -v threadtime -f /dev/cf-logcat *:V
    class main
    user root
    disabled


on property:ro.boot.vsock_logcat_port=*
   enable vsock_logcat


service vsock_logcat /vendor/bin/vsock_logcat
    class main
    user root
    disabled


service wpa_supplicant /vendor/bin/hw/wpa_supplicant -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
    group system wifi inet
    disabled
    oneshot


service bugreport /system/bin/dumpstate -d -p -B -z -o /sdcard/bugreport
    class main
    disabled
    oneshot
    keycodes 30 48
