platform_system_core/bootstat/bootstat.rc
Mark Salyzyn c3ad75be84 bootstat: switch from root.root to system.log
bootstat does not need root uid and root gid permissions to perform
its tasks.  It appears that system uid and log gid are adequate and
appropriate.

Test: manual
Bug: 63736262
Change-Id: I094c2cb054e441562fa8717a4d3dc0086fb70a7a
2017-08-09 15:08:21 -07:00

77 lines
3.9 KiB
Text

# This file is the LOCAL_INIT_RC file for the bootstat command.
on post-fs-data
mkdir /data/misc/bootstat 0700 system log
# To deal with ota transition resulting from a change in DAC from
# root.root to system.log, may be deleted after ota has settled.
chown system log /data/misc/bootstat/absolute_boot_time
chown system log /data/misc/bootstat/boot_complete
chown system log /data/misc/bootstat/boot_complete_no_encryption
chown system log /data/misc/bootstat/boot_reason
chown system log /data/misc/bootstat/bootime.bootloader.1BLE
chown system log /data/misc/bootstat/bootime.bootloader.1BLL
chown system log /data/misc/bootstat/bootime.bootloader.2BLE
chown system log /data/misc/bootstat/bootime.bootloader.2BLL
chown system log /data/misc/bootstat/bootime.bootloader.AVB
chown system log /data/misc/bootstat/bootime.bootloader.KD
chown system log /data/misc/bootstat/bootime.bootloader.KL
chown system log /data/misc/bootstat/bootime.bootloader.ODT
chown system log /data/misc/bootstat/bootime.bootloader.SW
chown system log /data/misc/bootstat/bootime.bootloader.total
chown system log /data/misc/bootstat/build_date
chown system log /data/misc/bootstat/factory_reset
chown system log /data/misc/bootstat/factory_reset_boot_complete
chown system log /data/misc/bootstat/factory_reset_boot_complete_no_encryption
chown system log /data/misc/bootstat/factory_reset_current_time
chown system log /data/misc/bootstat/factory_reset_record_value
chown system log /data/misc/bootstat/last_boot_time_utc
chown system log /data/misc/bootstat/ota_boot_complete
chown system log /data/misc/bootstat/ota_boot_complete_no_encryption
chown system log /data/misc/bootstat/post_decrypt_time_elapsed
chown system log /data/misc/bootstat/ro.boottime.init
chown system log /data/misc/bootstat/ro.boottime.init.cold_boot_wait
chown system log /data/misc/bootstat/ro.boottime.init.selinux
chown system log /data/misc/bootstat/time_since_factory_reset
chown system log /data/misc/bootstat/time_since_last_boot
# end ota transitional support
# Record the time at which the user has successfully entered the pin to decrypt
# the device, /data is decrypted, and the system is entering the main boot phase.
#
# post-fs-data: /data is writable
# property:init.svc.bootanim=running: The boot animation is running
# property:ro.crypto.type=block: FDE device
on post-fs-data && property:init.svc.bootanim=running && property:ro.crypto.type=block
exec - system log -- /system/bin/bootstat -r post_decrypt_time_elapsed
# sys.logbootcomplete is a signal to enable the bootstat logging mechanism.
# This signaling is necessary to prevent logging boot metrics after a runtime
# restart (e.g., adb shell stop && adb shell start). /proc/uptime is not reset
# during a runtime restart, which leads to false boot time metrics being reported.
#
# The 'on boot' event occurs once per hard boot (device power on), which
# switches the flag on. If the device performs a runtime restart, the flag is
# switched off and cannot be switched on until the device hard boots again.
# Enable bootstat logging on boot.
on boot
setprop sys.logbootcomplete 1
# Disable further bootstat logging on a runtime restart. A runtime restart is
# signaled by the zygote stopping.
on property:init.svc.zygote=stopping
setprop sys.logbootcomplete 0
# Record boot complete metrics.
on property:sys.boot_completed=1 && property:sys.logbootcomplete=1
# Record boot_complete and related stats (decryption, etc).
exec - system log -- /system/bin/bootstat --record_boot_complete
# Record the boot reason.
exec - system log -- /system/bin/bootstat --record_boot_reason
# Record time since factory reset.
exec - system log -- /system/bin/bootstat --record_time_since_factory_reset
# Log all boot events.
exec - system log -- /system/bin/bootstat -l