on fs
    mount_all /fstab.ranchu

on early-init
    mount debugfs debugfs /sys/kernel/debug

on init
    # See storage config details at http://source.android.com/tech/storage/
    mkdir /storage/sdcard 0555 root root

    export EXTERNAL_STORAGE /storage/sdcard

    # Support legacy paths
    #symlink /storage/sdcard /sdcard
    #symlink /storage/sdcard /mnt/sdcard

    symlink /dev/goldfish_pipe /dev/android_pipe
    symlink /dev/goldfish_pipe /dev/qemu_pipe

on boot
    setprop net.eth0.gw 10.0.2.2
    setprop net.eth0.dns1 10.0.2.3
    setprop net.gprs.local-ip 10.0.2.15
    setprop ro.radio.use-ppp no
    setprop ro.build.product generic
    setprop ro.product.device generic

# 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

# Disable GPU support
    setprop ro.kernel.qemu 1
    setprop ro.kernel.qemu.gles 0
    symlink /system/lib64/hw/gralloc.default.aosp.so /system/lib64/hw/gralloc.default.so

# disable RenderScript
    setprop config.disable_renderscript 1

# disable some daemons the emulator doesn't want
    stop dund
    stop akmd

# start essential services
# These were written for the classic emulator, but are applicable to ranchu
    start goldfish-logcat
    start goldfish-setup

# enable Google-specific location features,
# like NetworkLocationProvider and LocationCollector
    setprop ro.com.google.locationfeatures 1

service goldfish-setup /system/etc/init.goldfish.sh
    user root
    group root
    oneshot

# -Q is a special logcat option that forces the
# program to check wether it runs on the emulator
# if it does, it redirects its output to the device
# named by the androidboot.console kernel option
# if not, is simply exits immediately

service goldfish-logcat /system/bin/logcat -Q
    oneshot
