1on early-init
2#    loglevel 8
3    mkdir /var/run 0755 root root
4    mkdir /var/run/media 0755 media root
5    mkdir /var/run/system 0755 system root
6    mkdir /dev/gce 0750
7    chown system system /dev/gce
8
9    # For KCOV
10    mount debugfs debugfs /sys/kernel/debug
11    chmod 0755 /sys/kernel/debug
12
13    setprop ro.sf.lcd_density ${ro.boot.lcd_density}
14    setprop ro.hardware.egl ${ro.boot.hardware.egl}
15    setprop ro.hardware.gralloc ${ro.boot.hardware.gralloc}
16    setprop ro.hardware.hwcomposer ${ro.boot.hardware.hwcomposer}
17    setprop ro.hardware.vulkan ${ro.boot.hardware.vulkan}
18
19    # start module load in the background
20    start vendor.insmod_sh
21
22on init
23    # ZRAM setup
24    write /sys/block/zram0/comp_algorithm lz4
25    #
26    # EAS uclamp interfaces
27    #
28    mkdir /dev/cpuctl/foreground
29    mkdir /dev/cpuctl/background
30    mkdir /dev/cpuctl/top-app
31    mkdir /dev/cpuctl/rt
32    chown system system /dev/cpuctl
33    chown system system /dev/cpuctl/foreground
34    chown system system /dev/cpuctl/background
35    chown system system /dev/cpuctl/top-app
36    chown system system /dev/cpuctl/rt
37    chown system system /dev/cpuctl/tasks
38    chown system system /dev/cpuctl/foreground/tasks
39    chown system system /dev/cpuctl/background/tasks
40    chown system system /dev/cpuctl/top-app/tasks
41    chown system system /dev/cpuctl/rt/tasks
42    chmod 0664 /dev/cpuctl/tasks
43    chmod 0664 /dev/cpuctl/foreground/tasks
44    chmod 0664 /dev/cpuctl/background/tasks
45    chmod 0664 /dev/cpuctl/top-app/tasks
46    chmod 0664 /dev/cpuctl/rt/tasks
47
48
49on fs
50    # Mount everything that does not require fsck
51    mount_all --early
52    restorecon_recursive /vendor
53
54    start setup_wifi
55    # works around framework netiface enumeration issue
56    start rename_eth1
57
58    # TODO(ender): Find better way to talk to serial port.
59    chmod 622 /dev/kmsg
60
61    # for GCE camera HAL
62    mkdir /var/media 0770 audio media
63
64    chmod 0664 /sys/kernel/debug/ieee80211/phy1/hwsim/group
65    chmod 0664 /sys/kernel/debug/ieee80211/phy1/hwsim/ps
66    chmod 0664 /sys/kernel/debug/ieee80211/phy0/rc/fixed_rate_idx
67    chmod 0664 /sys/kernel/debug/ieee80211/phy0/hwsim/group
68    chmod 0664 /sys/kernel/debug/ieee80211/phy0/hwsim/ps
69    chmod 0664 /sys/kernel/debug/ieee80211/phy1/rc/fixed_rate_idx
70
71
72on post-fs
73    # set RLIMIT_MEMLOCK to 64MB
74    setrlimit 8 67108864 67108864
75
76
77on post-fs-data
78    start vport_trigger
79
80    mkdir /data/vendor/modem_dump 0777 system system
81    mkdir /data/vendor/radio 0777 system system
82
83
84on late-fs
85    # Wait for keymaster
86    exec_start wait_for_keymaster
87
88    # Mount RW partitions which need run fsck
89    mount_all --late
90
91    write /dev/kmsg "GUEST_BUILD_FINGERPRINT: ${ro.build.fingerprint}"
92
93
94on boot
95    chmod 0660 /dev/cpuctl
96    mkdir /data/vendor/wifi 0770 wifi wifi
97    mkdir /data/vendor/wifi/wpa 0770 wifi wifi
98    mkdir /data/vendor/wifi/wpa/sockets 0770 wifi wifi
99    start socket_vsock_proxy
100
101
102service setup_wifi /vendor/bin/setup_wifi
103    oneshot
104
105
106service rename_eth1 /vendor/bin/rename_netiface eth1 rmnet0
107    oneshot
108
109
110on property:sys.boot_completed=1
111    trigger sys-boot-completed-set
112
113
114# We want one opportunity per boot to enable zram, so we
115# use a trigger we fire from the above stanza. If
116# persist.sys.zram_enabled becomes true after boot,
117# we don't want to run swapon_all at that time.
118on sys-boot-completed-set && property:persist.sys.zram_enabled=1
119    swapon_all
120
121service vendor.insmod_sh /vendor/bin/init.insmod.sh
122    class main
123    user root
124    group root system
125    disabled
126    oneshot
127
128service socket_vsock_proxy /vendor/bin/socket_vsock_proxy -server=vsock -tcp_port=5555 -vsock_port=6520
129
130
131service vport_trigger /vendor/bin/vport_trigger
132    oneshot
133
134
135on property:vendor.ser.cf-logcat=*
136    symlink ${vendor.ser.cf-logcat} /dev/cf-logcat
137    enable seriallogging
138
139
140service seriallogging /system/bin/logcat -b all -v threadtime -f /dev/cf-logcat *:V
141    class main
142    user root
143    disabled
144
145
146on property:ro.boot.vsock_logcat_port=*
147   enable vsock_logcat
148
149
150service vsock_logcat /vendor/bin/vsock_logcat
151    class main
152    user root
153    disabled
154
155service vsoc_input_service /vendor/bin/vsoc_input_service -touch_port=${ro.boot.vsock_touch_port} -keyboard_port=${ro.boot.vsock_keyboard_port}
156    group root uhid
157    disabled
158
159on early-boot && property:ro.boot.vsock_touch_port=*
160   enable vsoc_input_service
161   start vsoc_input_service
162
163on early-boot && property:ro.boot.vsock_keyboard_port=*
164   enable vsoc_input_service
165   start vsoc_input_service
166
167service wpa_supplicant /vendor/bin/hw/wpa_supplicant -g@android:wpa_wlan0
168    interface [email protected]::ISupplicant default
169    interface [email protected]::ISupplicant default
170    interface [email protected]::ISupplicant default
171    interface [email protected]::ISupplicant default
172    socket wpa_wlan0 dgram 660 wifi wifi
173    group system wifi inet
174    disabled
175    oneshot
176
177
178service bugreport /system/bin/dumpstate -d -p -z
179    class main
180    disabled
181    oneshot
182    keycodes 30 48
183