blob: 69fbb09dc03ad4cdad2ab78a750e437ddd7f2a20 [file] [log] [blame]
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
description "Start the Chromium OS power daemon"
author "chromium-os-dev@chromium.org"
# Note, the 'start on' line is modified by chromeos-factoryinstall ebuild.
# Please do not change it without also changing that reference.
start on started boot-services
stop on stopping boot-services
expect fork
respawn
respawn limit 3 10 # if the job respawns 3 times in 10 seconds, stop trying.
env LOG_DIR=/var/log/power_manager
env POWER_RUN_DIR=/var/run/power_manager/power
env PREFS_DIR=/var/lib/power_manager
env ROOT_RUN_DIR=/var/run/power_manager/root
env ROOT_SPOOL_DIR=/var/spool/power_manager/root
env DEFAULT_PREFS_DIR=/usr/share/power_manager
env VPD_CACHE_FILE=/mnt/stateful_partition/unencrypted/cache/vpd/filtered.txt
env MAX_NITS_PREF=internal_backlight_max_nits
env PM_TEST_DELAY_FILE=/sys/power/pm_test_delay
# Add modules here in --vmodule format for debugging.
env VMODULE_ARG=
env UPSTART_RUN=1
pre-start script
exec /bin/sh -u /usr/share/cros/init/powerd-pre-start.sh
end script
# Note that we need the full path to powerd because minijail doesn't look
# at $PATH. Also, do not set capabilities here using minijail0's -c flag;
# doing so will prevent powerd_setuid_helper from running correctly when
# executed by powerd.
exec minijail0 -u power -g power -G -i -- \
/usr/bin/powerd \
--prefs_dir=${PREFS_DIR} \
--default_prefs_dir=${DEFAULT_PREFS_DIR} \
--log_dir=${LOG_DIR} \
--run_dir=${POWER_RUN_DIR} \
--vmodule="${VMODULE_ARG}" \
>/var/log/powerd.out 2>&1