# Start the keystore2 service.
# Keystore 2.0 changes its working directory to the first positional
# command line option, i.e., /data/misc/keystore, where it stores its
# database.
# Keystore shall run as user keystore and groups keystore, readproc, and log.
#
# See system/core/init/README.md for information on the init.rc language.

on late-init
    start keystore2

service keystore2 /system/bin/keystore2 /tmp/misc/keystore
    class early_hal
    user root
    group keystore readproc log
    writepid /dev/cpuset/foreground/tasks
    seclabel u:r:recovery:s0
