diff --git a/init/README.md b/init/README.md index de57208e8..560c5280f 100644 --- a/init/README.md +++ b/init/README.md @@ -501,9 +501,10 @@ have been omitted. reformatted here if it couldn't mount in first-stage init. 6. `post-fs-data-checkpointed` - Triggered when vold has completed committing a checkpoint after an OTA update. Not triggered if checkpointing is not needed or supported. - 7. `zygote-start` - Start the zygote. - 8. `early-boot` - After zygote has started. - 9. `boot` - After `early-boot` actions have completed. + 7. `bpf-progs-loaded` - Starts things that want to start ASAP but need eBPF (incl. netd) + 8. `zygote-start` - Start the zygote. + 9. `early-boot` - After zygote has started. + 10. `boot` - After `early-boot` actions have completed. Commands -------- diff --git a/rootdir/init.rc b/rootdir/init.rc index 4b3ad822f..d80416db8 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -568,6 +568,7 @@ on late-init # Should be before netd, but after apex, properties and logging is available. trigger load_bpf_programs + trigger bpf-progs-loaded # Now we can start zygote. trigger zygote-start @@ -1109,6 +1110,9 @@ on post-fs-data on property:vold.checkpoint_committed=1 trigger post-fs-data-checkpointed +on bpf-progs-loaded + start netd + # It is recommended to put unnecessary data/ initialization from post-fs-data # to start-zygote in device's init.rc to unblock zygote start. on zygote-start @@ -1116,7 +1120,6 @@ on zygote-start # A/B update verifier that marks a successful boot. exec_start update_verifier start statsd - start netd start zygote start zygote_secondary