1on early-fs 2 start vold 3 4on fs 5 mount_all /vendor/etc/fstab.ranchu --early 6 7on late-fs 8 # Mount RW partitions which need run fsck 9 exec_start wait_for_keymaster 10 mount_all /vendor/etc/fstab.ranchu --late 11 12on early-init 13 mount proc proc /proc remount hidepid=2,gid=3009 14 setprop ro.hardware.vulkan ranchu 15 16 # true if ram is <= 2G 17 setprop ro.config.low_ram ${ro.boot.config.low_ram} 18 setprop dalvik.vm.dex2oat64.enabled 1 19 20 setprop ro.soc.manufacturer AOSP 21 setprop ro.soc.model ranchu 22 23 # DEPRECATED, use ro.boot.qemu instead. The GTS tests still refer to 24 # ro.kernel.qemu to decide if a device is emulator. Should be removed once 25 # GTS tests are migrated to ro.boot.qemu. 26 setprop ro.kernel.qemu 1 27 28on init 29 # set RLIMIT_MEMLOCK to 8MB for BPF network statistics 30 setrlimit memlock 8388608 8388608 31 32 symlink /dev/goldfish_pipe /dev/android_pipe 33 symlink /dev/goldfish_pipe /dev/qemu_pipe 34 35 write /sys/block/zram0/comp_algorithm lz4 36 write /proc/sys/vm/page-cluster 0 37 38 # 39 # EAS uclamp interfaces 40 # 41 mkdir /dev/cpuctl/foreground 42 mkdir /dev/cpuctl/background 43 mkdir /dev/cpuctl/top-app 44 mkdir /dev/cpuctl/rt 45 chown system system /dev/cpuctl 46 chown system system /dev/cpuctl/foreground 47 chown system system /dev/cpuctl/background 48 chown system system /dev/cpuctl/top-app 49 chown system system /dev/cpuctl/rt 50 chown system system /dev/cpuctl/tasks 51 chown system system /dev/cpuctl/foreground/tasks 52 chown system system /dev/cpuctl/background/tasks 53 chown system system /dev/cpuctl/top-app/tasks 54 chown system system /dev/cpuctl/rt/tasks 55 chmod 0664 /dev/cpuctl/tasks 56 chmod 0664 /dev/cpuctl/foreground/tasks 57 chmod 0664 /dev/cpuctl/background/tasks 58 chmod 0664 /dev/cpuctl/top-app/tasks 59 chmod 0664 /dev/cpuctl/rt/tasks 60 61 start qemu-props 62 63on post-fs-data 64 setprop vold.post_fs_data_done 1 65 mkdir /data/vendor/adb 0755 root root 66 mkdir /data/vendor/var 0755 root root 67 mkdir /data/vendor/var/run 0755 root root 68 mkdir /data/vendor/var/run/netns 0755 root root 69 70 start qemu-adb-keys 71 72on zygote-start 73 # Create the directories used by the Wireless subsystem 74 mkdir /data/vendor/wifi 0771 wifi wifi 75 mkdir /data/vendor/wifi/wpa 0770 wifi wifi 76 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi 77 78on boot 79 setprop ro.hardware.egl ${ro.boot.hardwareegl:-emulation} 80 setprop debug.sf.vsync_reactor_ignore_present_fences true 81 setprop debug.hwui.renderer opengl 82 setprop debug.hwui.renderer ${ro.boot.debug.hwui.renderer} 83 setprop ro.opengles.version ${ro.boot.opengles.version} 84 setprop ro.surface_flinger.supports_background_blur 1 85 setprop ro.zygote.disable_gl_preload 1 86 87 setprop debug.stagefright.ccodec ${ro.boot.debug.stagefright.ccodec} 88 89 setprop dalvik.vm.heapsize 192m 90 setprop dalvik.vm.heapsize ${ro.boot.dalvik.vm.heapsize} 91 setprop dalvik.vm.checkjni ${ro.boot.dalvik.vm.checkjni} 92 chown root system /sys/power/wake_lock 93 chown root system /sys/power/wake_unlock 94 setprop ro.hardware.audio.primary goldfish 95 96 setprop wifi.interface wlan0 97 setprop wifi.direct.interface p2p-dev-wlan0 98 99 # Create an unused USB gadget to allow sysfs testing 100 mkdir /config/usb_gadget/g1 0770 root root 101 102service ranchu-setup /vendor/bin/init.ranchu-core.sh 103 class core 104 user root 105 group root 106 oneshot 107 108service qemu-adb-setup /system_ext/bin/init.qemu-adb-keys.sh 109 class core 110 user root 111 group shell 112 disabled # Started when qemu-adb-keys is stopped 113 oneshot 114 115on property:vendor.qemu.vport.gnss=* 116 symlink ${vendor.qemu.vport.gnss} /dev/gnss0 117 118on property:vendor.qemu.timezone=* 119 setprop persist.sys.timezone ${vendor.qemu.timezone} 120 121on property:ro.boot.debug.sf.nobootanimation=1 122 setprop debug.sf.nobootanimation 1 123 124on property:dev.bootcomplete=1 125 setprop vendor.qemu.dev.bootcomplete 1 126 start ranchu-setup 127 128on post-fs-data && property:ro.boot.qemu.wifi=1 129 start create_router_ns 130 131on post-fs-data && property:ro.boot.qemu.virtiowifi=1 132 start ranchu-net 133 134on property:vendor.qemu.networknamespace=ready 135 start ranchu-net 136 137service ranchu-net /vendor/bin/init.ranchu-net.sh 138 class late_start 139 user root 140 group root wakelock wifi 141 oneshot 142 disabled # Started on post-fs-data 143 144service emu_hostapd /vendor/bin/execns router /vendor/bin/hostapd_nohidl /data/vendor/wifi/hostapd/hostapd.conf 145 user root 146 group root wifi net_raw net_admin 147 disabled 148 149service netmgr /vendor/bin/execns router /vendor/bin/netmgr --if-prefix wlan1 --bridge eth0,radio0-peer 150 user root 151 group root wifi 152 disabled 153 154service create_router_ns /vendor/bin/createns router 155 user root 156 group root 157 disabled 158 oneshot 159 160service wifi_forwarder /vendor/bin/wifi_forwarder 161 user root 162 group root wifi 163 disabled 164 165service dhcpclient_rtr /vendor/bin/dhcpclient -i radio0 --no-gateway 166 user root 167 group root 168 disabled 169 170service dhcpclient_wifi /vendor/bin/dhcpclient -i wlan0 --no-gateway 171 user root 172 group root 173 disabled 174 175on property:vendor.network.bridged=1 176 start dhcpclient_rtr 177 178service dhcpclient_def /vendor/bin/dhcpclient -i eth0 --no-gateway 179 user root 180 group root 181 disabled 182 183# The qemu-props program is used to set various system 184# properties on boot. It must be run early during the boot 185# process to avoid race conditions with other daemons that 186# might read them (e.g. surface flinger), so define it in 187# class 'core' 188# 189service qemu-props /vendor/bin/qemu-props 190 class core 191 user root 192 group root 193 oneshot 194 195service qemu-adb-keys /vendor/bin/qemu-adb-keys 196 class core 197 user root 198 group root 199 oneshot 200 201service goldfish-logcat /system/bin/logcat -f /dev/hvc1 ${ro.boot.logcat} 202 class main 203 user logd 204 group root logd 205 206service bugreport /system/bin/dumpstate -d -p -z 207 class main 208 disabled 209 oneshot 210 keycodes 114 115 116 211 212service wpa_supplicant /vendor/bin/hw/wpa_supplicant -Dnl80211 -iwlan0 -c/vendor/etc/wifi/wpa_supplicant.conf -g@android:wpa_wlan0 213 interface android.hardware.wifi.supplicant@1.0::ISupplicant default 214 interface android.hardware.wifi.supplicant@1.1::ISupplicant default 215 interface android.hardware.wifi.supplicant@1.2::ISupplicant default 216 interface android.hardware.wifi.supplicant@1.3::ISupplicant default 217 socket wpa_wlan0 dgram 660 wifi wifi 218 group system wifi inet 219 oneshot 220 disabled 221 222# Enable zram only once per boot. From: 223 224# We want one opportunity per boot to enable zram, so we 225# use a trigger we fire from the above stanza. If 226# persist.sys.zram_enabled becomes true after boot, 227# we don't want to run swapon_all at that time. 228 229on property:sys.boot_completed=1 230 trigger sys-boot-completed-set 231 232on sys-boot-completed-set && property:persist.sys.zram_enabled=1 233 swapon_all /vendor/etc/fstab.${ro.hardware} 234