blob: 870947e8ba5f12958d303b2a3bd785ad4ce1b750 [file] [log] [blame]
on early-fs
start vold
on fs
mount_all /vendor/etc/fstab.ranchu --early
on late-fs
# Mount RW partitions which need run fsck
mount_all /vendor/etc/fstab.ranchu --late
on early-init
mount proc proc /proc remount hidepid=2,gid=3009
setprop ro.hardware.vulkan ranchu
# true if ram is <= 2G
setprop ro.config.low_ram ${ro.boot.config.low_ram}
setprop dalvik.vm.dex2oat64.enabled 1
setprop ro.soc.manufacturer AOSP
setprop ro.soc.model ranchu
# DEPRECATED, use ro.boot.qemu instead. The GTS tests still refer to
# ro.kernel.qemu to decide if a device is emulator. Should be removed once
# GTS tests are migrated to ro.boot.qemu.
setprop ro.kernel.qemu 1
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
setprop ro.hardware.audio.tinyalsa.period_count 4
setprop ro.hardware.audio.tinyalsa.period_size_multiplier 4
setprop ro.hardware.audio.tinyalsa.host_latency_ms 30
start qemu-props
on post-fs-data
setprop vold.post_fs_data_done 1
mkdir /data/vendor/adb 0755 root root
mkdir /data/vendor/devicestate 0755 root root
mkdir /data/vendor/var 0755 root root
mkdir /data/vendor/var/run 0755 root root
start qemu-adb-keys
start qemu-device-state
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 ${ro.boot.hardwareegl:-emulation}
setprop debug.sf.vsync_reactor_ignore_present_fences true
setprop debug.hwui.renderer opengl
setprop debug.hwui.renderer ${ro.boot.debug.hwui.renderer}
setprop ro.opengles.version ${ro.boot.opengles.version}
setprop ro.surface_flinger.supports_background_blur 1
setprop ro.zygote.disable_gl_preload 1
setprop debug.stagefright.ccodec ${ro.boot.debug.stagefright.ccodec}
setprop dalvik.vm.heapsize 192m
setprop dalvik.vm.heapsize ${ro.boot.dalvik.vm.heapsize}
setprop dalvik.vm.checkjni ${ro.boot.dalvik.vm.checkjni}
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
# 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
service qemu-adb-setup /system_ext/bin/init.qemu-adb-keys.sh
class core
user root
group shell
disabled # Started when qemu-adb-keys is stopped
oneshot
on property:vendor.qemu.vport.gnss=*
symlink ${vendor.qemu.vport.gnss} /dev/gnss0
on property:vendor.qemu.timezone=*
setprop persist.sys.timezone ${vendor.qemu.timezone}
on property:ro.boot.debug.sf.nobootanimation=1
setprop debug.sf.nobootanimation 1
on property:dev.bootcomplete=1
setprop vendor.qemu.dev.bootcomplete 1
start ranchu-setup
on post-fs-data && property:ro.boot.qemu.virtiowifi=1
start ranchu-net
on property:ro.boot.qemu.cpuvulkan.version=*
setprop ro.cpuvulkan.version ${ro.boot.qemu.cpuvulkan.version}
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 dhcpclient_wifi /vendor/bin/dhcpclient -i wlan0 --no-gateway
user root
group root
disabled
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
service qemu-adb-keys /vendor/bin/qemu-adb-keys
class core
user root
group root
oneshot
service qemu-device-state /vendor/bin/qemu-device-state
class core
user root
group root
oneshot
service goldfish-logcat /system/bin/logcat -f /dev/hvc1 ${ro.boot.logcat}
class main
user logd
group root logd
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 aidl android.hardware.wifi.supplicant.ISupplicant/default
socket wpa_wlan0 dgram 660 wifi wifi
group system wifi inet
oneshot
disabled
on property:vendor.qemu.vport.bluetooth=*
symlink ${vendor.qemu.vport.bluetooth} /dev/bluetooth0
service bt_vhci_forwarder /vendor/bin/bt_vhci_forwarder -virtio_console_dev=/dev/bluetooth0
class main
user bluetooth
group root bluetooth
# 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}