• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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