1#!/bin/bash 2 3# Copyright (C) 2024 The Android Open Source Project 4# 5# Licensed under the Apache License, Version 2.0 (the "License"); 6# you may not use this file except in compliance with the License. 7# You may obtain a copy of the License at 8# 9# http://www.apache.org/licenses/LICENSE-2.0 10# 11# Unless required by applicable law or agreed to in writing, software 12# distributed under the License is distributed on an "AS IS" BASIS, 13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14# See the License for the specific language governing permissions and 15# limitations under the License. 16 17# coredump_setup - enable core dumps globally for any process 18# that has the core-file-size limit set correctly 19# 20# NOTE: You must call also coredump_enable for a specific process 21# if its core-file-size limit is not set already. 22# NOTE: Core dumps are written to ramdisk; they will not survive a reboot! 23 24set -e 25 26echo "Getting root..."; 27adb root; 28adb wait-for-device; 29 30echo "Remounting root partition read-write..."; 31adb shell mount -w -o remount -t rootfs rootfs; 32sleep 1; 33adb wait-for-device; 34adb shell mkdir -p /cores; 35adb shell mount -t tmpfs tmpfs /cores; 36adb shell chmod 0777 /cores; 37 38echo "Granting SELinux permission to dump in /cores..."; 39adb shell restorecon -R /cores; 40 41echo "Set core pattern."; 42adb shell 'echo /cores/core.%p > /proc/sys/kernel/core_pattern'; 43 44echo "Done." 45 46