blob: 8861ca3c9d3fbfddd77cce69152802fd60549bfc [file] [log] [blame]
on early-init
# loglevel 8
setprop ro.sf.lcd_density ${ro.boot.lcd_density}
setprop ro.hardware.egl ${ro.boot.hardware.egl}
setprop debug.sf.vsync_reactor_ignore_present_fences true
setprop ro.hardware.gralloc ${ro.boot.hardware.gralloc}
setprop ro.hardware.hwcomposer ${ro.boot.hardware.hwcomposer}
setprop ro.vendor.hwcomposer.mode ${ro.boot.hardware.hwcomposer.mode}
setprop ro.hardware.vulkan ${ro.boot.hardware.vulkan}
setprop ro.cpuvulkan.version ${ro.boot.cpuvulkan.version}
setprop ro.hw_timeout_multiplier ${ro.boot.hw_timeout_multiplier}
setprop ro.opengles.version ${ro.boot.opengles.version}
# start module load in the background
start vendor.dlkm_loader
on init
# ZRAM setup
write /sys/block/zram0/comp_algorithm lz4
# 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
on fs
mkdir /mnt/vendor/shared 0770 system system
# Mount everything that does not require fsck
mount_all --early
restorecon_recursive /vendor
# So GceBootReporter can print to kmsg
chmod 622 /dev/kmsg
on post-fs
# set RLIMIT_MEMLOCK to 64MB
setrlimit 8 67108864 67108864
on post-fs-data
# works around framework netiface enumeration issue
# TODO(b/202731768): Add this `start rename_eth0` command to the init.rc for rename_netiface
start rename_eth0
on post-fs-data && property:ro.vendor.wifi_impl=virt_wifi
# TODO(b/202731768): Add this `start setup_wifi` command to the init.rc for setup_wifi
start setup_wifi
on post-fs-data
mkdir /data/vendor/modem_dump 0777 system system
mkdir /data/vendor/radio 0777 system system
on late-fs
# Mount RW partitions which need run fsck
mount_all --late
write /dev/kmsg "GUEST_BUILD_FINGERPRINT: ${ro.build.fingerprint}"
on post-fs-data && property:ro.vendor.wifi_impl=mac8011_hwsim_virtio
mkdir /data/vendor/wifi 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd 0770 wifi wifi
mkdir /data/vendor/wifi/hostapd/sockets 0770 wifi wifi
start init_wifi_sh
on boot
chmod 0770 /dev/cpuctl
mkdir /data/vendor/wifi 0770 wifi wifi
mkdir /data/vendor/wifi/wpa 0770 wifi wifi
mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
start socket_vsock_proxy
setprop ro.hardware.audio.primary goldfish
symlink /dev/hvc6 /dev/gnss0
symlink /dev/hvc7 /dev/gnss1
on property:sys.boot_completed=1
trigger sys-boot-completed-set
# 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 sys-boot-completed-set && property:persist.sys.zram_enabled=1
swapon_all
service vendor.dlkm_loader /vendor/bin/dlkm_loader
class main
user root
group root system
disabled
oneshot
service socket_vsock_proxy /vendor/bin/socket_vsock_proxy -server=vsock -tcp_port=5555 -vsock_port=6520
service seriallogging /system/bin/logcat -b all -v threadtime -f /dev/hvc2 *:V
class main
user logd
group root logd
service vsoc_input_service /vendor/bin/vsoc_input_service -touch_port=${ro.boot.vsock_touch_port} -keyboard_port=${ro.boot.vsock_keyboard_port}
group root uhid
disabled
on early-boot && property:ro.boot.vsock_touch_port=*
enable vsoc_input_service
start vsoc_input_service
on early-boot && property:ro.boot.vsock_keyboard_port=*
enable vsoc_input_service
start vsoc_input_service
service bugreport /system/bin/dumpstate -d -p -z
class main
disabled
oneshot
keycodes 30 48
# TODO: disable this service once cuttlefish implements system suspend
service suspend_blocker /vendor/bin/suspend_blocker
class early_hal # Start together with system_suspend HAL
group system
user root