• 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    exec_start wait_for_keymaster
10    mount_all /vendor/etc/fstab.ranchu --late
11
12on early-init
13    mount proc proc /proc remount hidepid=2,gid=3009
14    setprop ro.hardware.vulkan ranchu
15
16    # true if ram is <= 2G
17    setprop ro.config.low_ram ${ro.boot.config.low_ram}
18    setprop dalvik.vm.dex2oat64.enabled 1
19
20    setprop ro.soc.manufacturer AOSP
21    setprop ro.soc.model ranchu
22
23    # DEPRECATED, use ro.boot.qemu instead. The GTS tests still refer to
24    # ro.kernel.qemu to decide if a device is emulator. Should be removed once
25    # GTS tests are migrated to ro.boot.qemu.
26    setprop ro.kernel.qemu 1
27
28on init
29    # set RLIMIT_MEMLOCK to 8MB for BPF network statistics
30    setrlimit memlock 8388608 8388608
31
32    symlink /dev/goldfish_pipe /dev/android_pipe
33    symlink /dev/goldfish_pipe /dev/qemu_pipe
34
35    write /sys/block/zram0/comp_algorithm lz4
36    write /proc/sys/vm/page-cluster 0
37
38    #
39    # EAS uclamp interfaces
40    #
41    mkdir /dev/cpuctl/foreground
42    mkdir /dev/cpuctl/background
43    mkdir /dev/cpuctl/top-app
44    mkdir /dev/cpuctl/rt
45    chown system system /dev/cpuctl
46    chown system system /dev/cpuctl/foreground
47    chown system system /dev/cpuctl/background
48    chown system system /dev/cpuctl/top-app
49    chown system system /dev/cpuctl/rt
50    chown system system /dev/cpuctl/tasks
51    chown system system /dev/cpuctl/foreground/tasks
52    chown system system /dev/cpuctl/background/tasks
53    chown system system /dev/cpuctl/top-app/tasks
54    chown system system /dev/cpuctl/rt/tasks
55    chmod 0664 /dev/cpuctl/tasks
56    chmod 0664 /dev/cpuctl/foreground/tasks
57    chmod 0664 /dev/cpuctl/background/tasks
58    chmod 0664 /dev/cpuctl/top-app/tasks
59    chmod 0664 /dev/cpuctl/rt/tasks
60
61    start qemu-props
62
63on post-fs-data
64    setprop vold.post_fs_data_done 1
65    mkdir /data/vendor/adb 0755 root root
66    mkdir /data/vendor/var 0755 root root
67    mkdir /data/vendor/var/run 0755 root root
68    mkdir /data/vendor/var/run/netns 0755 root root
69
70    start qemu-adb-keys
71
72on zygote-start
73    # Create the directories used by the Wireless subsystem
74    mkdir /data/vendor/wifi 0771 wifi wifi
75    mkdir /data/vendor/wifi/wpa 0770 wifi wifi
76    mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
77
78on boot
79    setprop ro.hardware.egl ${ro.boot.hardwareegl:-emulation}
80    setprop debug.sf.vsync_reactor_ignore_present_fences true
81    setprop debug.hwui.renderer opengl
82    setprop debug.hwui.renderer ${ro.boot.debug.hwui.renderer}
83    setprop ro.opengles.version ${ro.boot.opengles.version}
84    setprop ro.surface_flinger.supports_background_blur 1
85    setprop ro.zygote.disable_gl_preload 1
86
87    setprop debug.stagefright.ccodec ${ro.boot.debug.stagefright.ccodec}
88
89    setprop dalvik.vm.heapsize 192m
90    setprop dalvik.vm.heapsize ${ro.boot.dalvik.vm.heapsize}
91    setprop dalvik.vm.checkjni ${ro.boot.dalvik.vm.checkjni}
92    chown root system /sys/power/wake_lock
93    chown root system /sys/power/wake_unlock
94    setprop ro.hardware.audio.primary goldfish
95
96    setprop wifi.interface wlan0
97    setprop wifi.direct.interface p2p-dev-wlan0
98
99    # Create an unused USB gadget to allow sysfs testing
100    mkdir /config/usb_gadget/g1 0770 root root
101
102service ranchu-setup /vendor/bin/init.ranchu-core.sh
103    class core
104    user root
105    group root
106    oneshot
107
108service qemu-adb-setup /system_ext/bin/init.qemu-adb-keys.sh
109    class core
110    user root
111    group shell
112    disabled  # Started when qemu-adb-keys is stopped
113    oneshot
114
115on property:vendor.qemu.vport.gnss=*
116    symlink ${vendor.qemu.vport.gnss} /dev/gnss0
117
118on property:vendor.qemu.timezone=*
119    setprop persist.sys.timezone ${vendor.qemu.timezone}
120
121on property:ro.boot.debug.sf.nobootanimation=1
122    setprop debug.sf.nobootanimation 1
123
124on property:dev.bootcomplete=1
125    setprop vendor.qemu.dev.bootcomplete 1
126    start ranchu-setup
127
128on post-fs-data && property:ro.boot.qemu.wifi=1
129    start create_router_ns
130
131on post-fs-data && property:ro.boot.qemu.virtiowifi=1
132    start ranchu-net
133
134on property:vendor.qemu.networknamespace=ready
135    start ranchu-net
136
137service ranchu-net /vendor/bin/init.ranchu-net.sh
138    class late_start
139    user root
140    group root wakelock wifi
141    oneshot
142    disabled    # Started on post-fs-data
143
144service emu_hostapd /vendor/bin/execns router /vendor/bin/hostapd_nohidl /data/vendor/wifi/hostapd/hostapd.conf
145    user root
146    group root wifi net_raw net_admin
147    disabled
148
149service netmgr /vendor/bin/execns router /vendor/bin/netmgr --if-prefix wlan1 --bridge eth0,radio0-peer
150    user root
151    group root wifi
152    disabled
153
154service create_router_ns /vendor/bin/createns router
155    user root
156    group root
157    disabled
158    oneshot
159
160service wifi_forwarder /vendor/bin/wifi_forwarder
161    user root
162    group root wifi
163    disabled
164
165service dhcpclient_rtr /vendor/bin/dhcpclient -i radio0 --no-gateway
166    user root
167    group root
168    disabled
169
170service dhcpclient_wifi /vendor/bin/dhcpclient -i wlan0 --no-gateway
171    user root
172    group root
173    disabled
174
175on property:vendor.network.bridged=1
176    start dhcpclient_rtr
177
178service dhcpclient_def /vendor/bin/dhcpclient -i eth0 --no-gateway
179    user root
180    group root
181    disabled
182
183# The qemu-props program is used to set various system
184# properties on boot. It must be run early during the boot
185# process to avoid race conditions with other daemons that
186# might read them (e.g. surface flinger), so define it in
187# class 'core'
188#
189service qemu-props /vendor/bin/qemu-props
190    class core
191    user root
192    group root
193    oneshot
194
195service qemu-adb-keys /vendor/bin/qemu-adb-keys
196    class core
197    user root
198    group root
199    oneshot
200
201service goldfish-logcat /system/bin/logcat -f /dev/hvc1 ${ro.boot.logcat}
202    class main
203    user logd
204    group root logd
205
206service bugreport /system/bin/dumpstate -d -p -z
207    class main
208    disabled
209    oneshot
210    keycodes 114 115 116
211
212service wpa_supplicant /vendor/bin/hw/wpa_supplicant -Dnl80211 -iwlan0 -c/vendor/etc/wifi/wpa_supplicant.conf -g@android:wpa_wlan0
213    interface android.hardware.wifi.supplicant@1.0::ISupplicant default
214    interface android.hardware.wifi.supplicant@1.1::ISupplicant default
215    interface android.hardware.wifi.supplicant@1.2::ISupplicant default
216    interface android.hardware.wifi.supplicant@1.3::ISupplicant default
217    socket wpa_wlan0 dgram 660 wifi wifi
218    group system wifi inet
219    oneshot
220    disabled
221
222# Enable zram only once per boot. From:
223
224# We want one opportunity per boot to enable zram, so we
225# use a trigger we fire from the above stanza. If
226# persist.sys.zram_enabled becomes true after boot,
227# we don't want to run swapon_all at that time.
228
229on property:sys.boot_completed=1
230    trigger sys-boot-completed-set
231
232on sys-boot-completed-set && property:persist.sys.zram_enabled=1
233    swapon_all /vendor/etc/fstab.${ro.hardware}
234