1on early-init 2# loglevel 8 3 4 setprop ro.sf.lcd_density ${ro.boot.lcd_density} 5 setprop ro.hardware.egl ${ro.boot.hardware.egl} 6 setprop debug.sf.vsync_reactor_ignore_present_fences true 7 setprop ro.hardware.gralloc ${ro.boot.hardware.gralloc} 8 setprop ro.hardware.hwcomposer ${ro.boot.hardware.hwcomposer} 9 setprop ro.vendor.hwcomposer.display_finder_mode ${ro.boot.hardware.hwcomposer.display_finder_mode} 10 setprop ro.vendor.hwcomposer.mode ${ro.boot.hardware.hwcomposer.mode} 11 setprop ro.hardware.vulkan ${ro.boot.hardware.vulkan} 12 setprop ro.cpuvulkan.version ${ro.boot.cpuvulkan.version} 13 setprop ro.hw_timeout_multiplier ${ro.boot.hw_timeout_multiplier} 14 setprop ro.opengles.version ${ro.boot.opengles.version} 15 16 # start module load in the background 17 start vendor.dlkm_loader 18 19on init 20 # ZRAM setup 21 write /sys/block/zram0/comp_algorithm lz4 22 23 # EAS uclamp interfaces 24 mkdir /dev/cpuctl/foreground 25 mkdir /dev/cpuctl/background 26 mkdir /dev/cpuctl/top-app 27 mkdir /dev/cpuctl/rt 28 chown system system /dev/cpuctl 29 chown system system /dev/cpuctl/foreground 30 chown system system /dev/cpuctl/background 31 chown system system /dev/cpuctl/top-app 32 chown system system /dev/cpuctl/rt 33 chown system system /dev/cpuctl/tasks 34 chown system system /dev/cpuctl/foreground/tasks 35 chown system system /dev/cpuctl/background/tasks 36 chown system system /dev/cpuctl/top-app/tasks 37 chown system system /dev/cpuctl/rt/tasks 38 chmod 0664 /dev/cpuctl/tasks 39 chmod 0664 /dev/cpuctl/foreground/tasks 40 chmod 0664 /dev/cpuctl/background/tasks 41 chmod 0664 /dev/cpuctl/top-app/tasks 42 chmod 0664 /dev/cpuctl/rt/tasks 43 44on fs 45 mkdir /mnt/vendor/shared 0770 system system 46 47 # Mount everything that does not require fsck 48 mount_all --early 49 restorecon_recursive /vendor 50 51 # So GceBootReporter can print to kmsg 52 chmod 622 /dev/kmsg 53 54on post-fs 55 # set RLIMIT_MEMLOCK to 64MB 56 setrlimit 8 67108864 67108864 57 58on post-fs-data && property:ro.vendor.disable_rename_eth0= 59 # works around framework netiface enumeration issue 60 # TODO(b/202731768): Add this `start rename_eth0` command to the init.rc for rename_netiface 61 start rename_eth0 62 63on post-fs-data && property:ro.vendor.wifi_impl=virt_wifi 64 # TODO(b/202731768): Add this `start setup_wifi` command to the init.rc for setup_wifi 65 start setup_wifi 66 67on post-fs-data 68 mkdir /data/vendor/modem_dump 0777 system system 69 mkdir /data/vendor/radio 0777 system system 70 71on late-fs 72 # Mount RW partitions which need run fsck 73 mount_all --late 74 75 write /dev/kmsg "GUEST_BUILD_FINGERPRINT: ${ro.build.fingerprint}" 76 77on post-fs-data && property:ro.vendor.wifi_impl=mac8011_hwsim_virtio 78 mkdir /data/vendor/wifi 0770 wifi wifi 79 mkdir /data/vendor/wifi/hostapd 0770 wifi wifi 80 mkdir /data/vendor/wifi/hostapd/sockets 0770 wifi wifi 81 start init_wifi_sh 82 83on boot 84 chmod 0770 /dev/cpuctl 85 mkdir /data/vendor/wifi 0770 wifi wifi 86 mkdir /data/vendor/wifi/wpa 0770 wifi wifi 87 mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi 88 start socket_vsock_proxy 89 setprop ro.hardware.audio.primary goldfish 90 symlink /dev/hvc6 /dev/gnss0 91 symlink /dev/hvc7 /dev/gnss1 92 93on property:sys.boot_completed=1 94 trigger sys-boot-completed-set 95 96# We want one opportunity per boot to enable zram, so we 97# use a trigger we fire from the above stanza. If 98# persist.sys.zram_enabled becomes true after boot, 99# we don't want to run swapon_all at that time. 100on sys-boot-completed-set && property:persist.sys.zram_enabled=1 101 swapon_all 102 103service vendor.dlkm_loader /vendor/bin/dlkm_loader 104 class main 105 user root 106 group root system 107 disabled 108 oneshot 109 110service socket_vsock_proxy /vendor/bin/socket_vsock_proxy -server=vsock -tcp_port=5555 -vsock_port=6520 111 112service seriallogging /system/bin/logcat -b all -v threadtime -f /dev/hvc2 *:V 113 class main 114 user logd 115 group root logd 116 117service vsoc_input_service /vendor/bin/vsoc_input_service -touch_port=${ro.boot.vsock_touch_port} -keyboard_port=${ro.boot.vsock_keyboard_port} 118 group root uhid 119 disabled 120 121on early-boot && property:ro.boot.vsock_touch_port=* 122 enable vsoc_input_service 123 start vsoc_input_service 124 125on early-boot && property:ro.boot.vsock_keyboard_port=* 126 enable vsoc_input_service 127 start vsoc_input_service 128 129service bugreport /system/bin/dumpstate -d -p -z 130 class main 131 disabled 132 oneshot 133 keycodes 30 48 134 135# TODO: disable this service once cuttlefish implements system suspend 136service suspend_blocker /vendor/bin/suspend_blocker 137 class early_hal # Start together with system_suspend HAL 138 group system 139 user root 140