blob: 8b11eda30e7a05e0ca5f5774709f9d5af0cb8e2e [file] [log] [blame] [edit]
# Copyright 2012 The ChromiumOS Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
description "Chromium OS debug daemon"
author "chromium-os-dev@chromium.org"
# Start the debugd early to include kernel logs in the crash reports for early
# Chrome crashes. E.g., in b/304370964, Chrome crashed on startup because it
# failed to find the primary DRM device, and we need debugd available before
# the login prompt to include the kernel logs.
start on started boot-services
stop on stopping system-services or starting halt or starting reboot
respawn
oom score -100
tmpfiles /usr/lib/tmpfiles.d/debugd.conf
pre-start script
# Dev mode only setup.
if [ "$(crossystem cros_debug)" = "1" ]; then
systemd-tmpfiles --create --remove --clean \
/usr/lib/tmpfiles.d/on-demand/debugd-dev.conf
fi
# NB: copy logs of stateful (re)creation / powerwash.
# TODO(b/290114273): Move this to tmpfiles.d.
cp -aPZ --remove-destination \
/mnt/stateful_partition/unencrypted/clobber.log \
/mnt/stateful_partition/unencrypted/clobber-state.log \
/mnt/stateful_partition/unencrypted/preserve/powerwash_count \
/var/log/ || true # croslint: disable
end script
exec /usr/sbin/debugd
# Wait for daemon to claim its D-Bus name before transitioning to started.
post-start exec minijail0 -u chronos -g chronos /usr/bin/gdbus \
wait --system --timeout 15 org.chromium.debugd