| # 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 |