| # Copyright 2023 The ChromiumOS Authors |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # Kernel panic if we are testing pre-boot-collector kernel crashes. |
| |
| description "Conditionally crash the kernel before the boot collector runs." |
| author "chromium-os-dev@chromium.org" |
| |
| # We must run before the boot collector; this should be good enough. (boot |
| # collector runs on started system-services.) |
| start on started boot-services |
| |
| task |
| |
| # This is extremely unlikely to run out of memory. |
| oom score -100 |
| |
| script |
| source_dir="/mnt/stateful_partition/unencrypted/preserve" |
| if [ -f "${source_dir}/crash-kernel-early" ]; then |
| rm "${source_dir}/crash-kernel-early" # croslint: disable: test only |
| # Ensure file changes are persisted so we don't kernel panic in a loop. |
| sync |
| # Panic the machine. |
| if [ -f /sys/kernel/debug/provoke-crash/DIRECT ]; then |
| echo PANIC > /sys/kernel/debug/provoke-crash/DIRECT |
| else |
| echo panic > /proc/breakme |
| fi |
| fi |
| end script |