| on early-fs |
| start vold |
| |
| on fs |
| mount_all /vendor/etc/fstab.ranchu --early |
| |
| on late-fs |
| # Mount RW partitions which need run fsck |
| exec_start wait_for_keymaster |
| mount_all /vendor/etc/fstab.ranchu --late |
| |
| on early-init |
| mount proc proc /proc remount hidepid=2,gid=3009 |
| setprop ro.hardware.egl emulation |
| setprop ro.hardware.vulkan ranchu |
| |
| # true if ram is <= 2G |
| setprop ro.config.low_ram ${ro.kernel.qemu.config.low_ram} |
| |
| on init |
| # set RLIMIT_MEMLOCK to 8MB for BPF network statistics |
| setrlimit memlock 8388608 8388608 |
| |
| symlink /dev/goldfish_pipe /dev/android_pipe |
| symlink /dev/goldfish_pipe /dev/qemu_pipe |
| |
| write /sys/block/zram0/comp_algorithm lz4 |
| write /proc/sys/vm/page-cluster 0 |
| |
| # |
| # EAS uclamp interfaces |
| # |
| mkdir /dev/cpuctl/foreground |
| mkdir /dev/cpuctl/background |
| mkdir /dev/cpuctl/top-app |
| mkdir /dev/cpuctl/rt |
| chown system system /dev/cpuctl |
| chown system system /dev/cpuctl/foreground |
| chown system system /dev/cpuctl/background |
| chown system system /dev/cpuctl/top-app |
| chown system system /dev/cpuctl/rt |
| chown system system /dev/cpuctl/tasks |
| chown system system /dev/cpuctl/foreground/tasks |
| chown system system /dev/cpuctl/background/tasks |
| chown system system /dev/cpuctl/top-app/tasks |
| chown system system /dev/cpuctl/rt/tasks |
| chmod 0664 /dev/cpuctl/tasks |
| chmod 0664 /dev/cpuctl/foreground/tasks |
| chmod 0664 /dev/cpuctl/background/tasks |
| chmod 0664 /dev/cpuctl/top-app/tasks |
| chmod 0664 /dev/cpuctl/rt/tasks |
| |
| start qemu-props |
| |
| on post-fs-data |
| setprop vold.post_fs_data_done 1 |
| mkdir /data/vendor/var 0755 root root |
| mkdir /data/vendor/var/run 0755 root root |
| mkdir /data/vendor/var/run/netns 0755 root root |
| start create_router_ns |
| |
| on zygote-start |
| # Create the directories used by the Wireless subsystem |
| mkdir /data/vendor/wifi 0771 wifi wifi |
| mkdir /data/vendor/wifi/wpa 0770 wifi wifi |
| mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi |
| |
| on boot |
| setprop ro.hardware.egl emulation |
| setprop debug.sf.vsync_reactor 0 |
| setprop debug.hwui.renderer opengl |
| setprop debug.hwui.renderer ${ro.kernel.qemu.uirenderer} |
| setprop ro.opengles.version ${ro.kernel.qemu.opengles.version} |
| setprop ro.zygote.disable_gl_preload 1 |
| |
| setprop debug.stagefright.ccodec 0 |
| setprop debug.stagefright.ccodec ${ro.kernel.qemu.media.ccodec} |
| |
| setprop dalvik.vm.heapsize 192m |
| setprop dalvik.vm.heapsize ${ro.kernel.qemu.dalvik.vm.heapsize} |
| chown root system /sys/power/wake_lock |
| chown root system /sys/power/wake_unlock |
| setprop ro.hardware.audio.primary goldfish |
| |
| setprop wifi.interface wlan0 |
| setprop wifi.direct.interface p2p-dev-wlan0 |
| |
| start goldfish-logcat |
| |
| # Create an unused USB gadget to allow sysfs testing |
| mkdir /config/usb_gadget/g1 0770 root root |
| |
| service ranchu-setup /vendor/bin/init.ranchu-core.sh |
| class core |
| user root |
| group root |
| oneshot |
| |
| on property:vendor.qemu.timezone=* |
| setprop persist.sys.timezone ${vendor.qemu.timezone} |
| |
| on property:vendor.qemu.android.bootanim=0 |
| setprop debug.sf.nobootanimation 1 |
| |
| on property:dev.bootcomplete=1 |
| setprop vendor.qemu.dev.bootcomplete 1 |
| start ranchu-setup |
| |
| on property:qemu.networknamespace=ready |
| start ranchu-net |
| |
| service ranchu-net /vendor/bin/init.ranchu-net.sh |
| class late_start |
| user root |
| group root wakelock wifi |
| oneshot |
| disabled # Started on post-fs-data |
| |
| service emu_hostapd /vendor/bin/execns router /vendor/bin/hostapd_nohidl /data/vendor/wifi/hostapd/hostapd.conf |
| user root |
| group root wifi net_raw net_admin |
| disabled |
| |
| service netmgr /vendor/bin/execns router /vendor/bin/netmgr --if-prefix wlan1 --bridge eth0,radio0-peer |
| user root |
| group root wifi |
| disabled |
| |
| service create_router_ns /vendor/bin/createns router |
| user root |
| group root |
| disabled |
| oneshot |
| |
| service wifi_forwarder /vendor/bin/wifi_forwarder |
| user root |
| group root wifi |
| disabled |
| |
| service dhcpclient_rtr /vendor/bin/dhcpclient -i radio0 --no-gateway |
| user root |
| group root |
| disabled |
| |
| service dhcpclient_wifi /vendor/bin/dhcpclient -i wlan0 --no-gateway |
| user root |
| group root |
| disabled |
| |
| on property:vendor.network.bridged=1 |
| start dhcpclient_rtr |
| |
| service dhcpclient_def /vendor/bin/dhcpclient -i eth0 --no-gateway |
| user root |
| group root |
| disabled |
| |
| # The qemu-props program is used to set various system |
| # properties on boot. It must be run early during the boot |
| # process to avoid race conditions with other daemons that |
| # might read them (e.g. surface flinger), so define it in |
| # class 'core' |
| # |
| service qemu-props /vendor/bin/qemu-props |
| class core |
| 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 |
| # logd user added to prevent logcat from logging content. |
| # log group added to support access to read logs socket. |
| service goldfish-logcat /system/bin/logcat -Q |
| user logd |
| group log |
| oneshot |
| |
| service bugreport /system/bin/dumpstate -d -p -z |
| class main |
| disabled |
| oneshot |
| keycodes 114 115 116 |
| |
| service wpa_supplicant /vendor/bin/hw/wpa_supplicant -Dnl80211 -iwlan0 -c/vendor/etc/wifi/wpa_supplicant.conf -g@android:wpa_wlan0 |
| interface android.hardware.wifi.supplicant@1.0::ISupplicant default |
| interface android.hardware.wifi.supplicant@1.1::ISupplicant default |
| interface android.hardware.wifi.supplicant@1.2::ISupplicant default |
| interface android.hardware.wifi.supplicant@1.3::ISupplicant default |
| socket wpa_wlan0 dgram 660 wifi wifi |
| group system wifi inet |
| oneshot |
| disabled |
| |
| # Enable zram only once per boot. From: |
| |
| # 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 property:sys.boot_completed=1 |
| trigger sys-boot-completed-set |
| |
| on sys-boot-completed-set && property:persist.sys.zram_enabled=1 |
| swapon_all /vendor/etc/fstab.${ro.hardware} |