blob: 09601eb6a5a791e8122c10d290e9c82dcb8ab4c0 [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
# and factorytest-init ebuild. Please do not change it without also
# changing those references.
start on started boot-services
stop on stopping boot-services
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 VMODULE_ARG=state_controller=1,*backlight_controller=1,ambient_light_handler=1
pre-start script
mkdir -p ${LOG_DIR} ${POWER_RUN_DIR} ${PREFS_DIR}
chown -R power:power ${LOG_DIR} ${POWER_RUN_DIR} ${PREFS_DIR}
chmod 755 ${LOG_DIR} ${POWER_RUN_DIR} ${PREFS_DIR}
mkdir -p ${ROOT_RUN_DIR} ${ROOT_SPOOL_DIR}
# Change ownership of screen/keyboard backlight and wakeup files.
for FILE in \
/proc/acpi/wakeup \
/sys/class/backlight/*/* \
/sys/class/leds/*:kbd_backlight/* \
$(find /sys/devices/ -name "dark_resume_active") \
$(find /sys/devices/ -name "dark_resume_source"); do
# Test for existence to skip over wildcards that didn't match anything.
if [ -e "${FILE}" ]; then
chown power:power "${FILE}"
fi
done
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 -- \
/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