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