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