initial commit
imported from https://salsa.debian.org/kernel-team/linux.git commit 9d5cc9d9d6501d7f1dd7e194d4b245bd0b6c6a22 version 6.11.4-1
This commit is contained in:
77
debian/templates/image.bug/include-pstore
vendored
Normal file
77
debian/templates/image.bug/include-pstore
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
_add_pstore_log() {
|
||||
if [ $# -le 3 ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
local backend="$1"
|
||||
local event="$2"
|
||||
local date="$3"
|
||||
|
||||
yesno "Include log of $event at $(date -d @$date +%c) stored by $backend?" yep
|
||||
if [ $REPLY != yep ]; then
|
||||
return
|
||||
fi
|
||||
|
||||
echo >&3
|
||||
echo "*** Log of $event at $(date -d @$date -Iseconds) from $backend" >&3
|
||||
|
||||
shift 3
|
||||
for file in "$@"; do
|
||||
tail -n +2 "$file" | sed 's/^<.>//' >&3
|
||||
done
|
||||
}
|
||||
|
||||
add_pstore() {
|
||||
local backend
|
||||
local i
|
||||
local j
|
||||
local file
|
||||
local date
|
||||
local head
|
||||
local event
|
||||
local log_files
|
||||
|
||||
if ! mountpoint -q /sys/fs/pstore; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
set -- /sys/fs/pstore/dmesg-*-1
|
||||
backend=${1#*/dmesg-}
|
||||
backend=${backend%-1}
|
||||
if [ "$backend" = '*' ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
i=1
|
||||
while [ -f /sys/fs/pstore/dmesg-$backend-$i ]; do
|
||||
file=/sys/fs/pstore/dmesg-$backend-$i
|
||||
head="$(head -1 "$file")"
|
||||
|
||||
# Is this the first part of a log?
|
||||
if [ "x${head% Part1}" != "x$head" ]; then
|
||||
# Flush previous log, if any
|
||||
_add_pstore_log "$backend" "$event" "$date" $log_files
|
||||
|
||||
event="${head% Part1}"
|
||||
date=$(stat -c %Y $file)
|
||||
log_files=
|
||||
j=1
|
||||
fi
|
||||
|
||||
if [ "x$head" = "x$event Part$j" ]; then
|
||||
# Each part is prepended to the list, because they're numbered
|
||||
# backward in log history
|
||||
log_files="$file $log_files"
|
||||
j=$((j + 1))
|
||||
fi
|
||||
|
||||
i=$((i + 1))
|
||||
done
|
||||
|
||||
# Flush last log, if any
|
||||
_add_pstore_log "$backend" "$event" "$date" $log_files
|
||||
}
|
||||
|
||||
ask_pstore() {
|
||||
add_pstore
|
||||
}
|
Reference in New Issue
Block a user