kdump_load.sh: Improve logging and fix some shellcheck errors
Signed-off-by: Guilherme G. Piccoli <gpiccoli@igalia.com>
This commit is contained in:
2
PKGBUILD
2
PKGBUILD
@ -26,7 +26,7 @@ source=('20-kdump-steamos.conf'
|
|||||||
sha256sums=('dbedff54addfb5dce51614c73df04c90fca9f27d0d3a690243259ccbbfcca07c'
|
sha256sums=('dbedff54addfb5dce51614c73df04c90fca9f27d0d3a690243259ccbbfcca07c'
|
||||||
'2514f79a496f76af847e262eadd55a5c2f8d95375cc513efa8cadd4cd98fe1d2'
|
'2514f79a496f76af847e262eadd55a5c2f8d95375cc513efa8cadd4cd98fe1d2'
|
||||||
'fca89993e6ca76ec14f9a8e6761bec521903e2743ab9e05bfe2cd2b77e5e89f9'
|
'fca89993e6ca76ec14f9a8e6761bec521903e2743ab9e05bfe2cd2b77e5e89f9'
|
||||||
'8a556a9ebbda88dfd29b9620a0f2e7dbea19cd5fc019eb5dc4ebf7c80e4bf238'
|
'c1feeecf8fc3befbe241e7c78665af3b20258b2593393f91bf300c237623b2de'
|
||||||
'06b38bd9f09da5fb22a765b6f1945fc349cc5f9d13cd32c9218b9b60b40a9010'
|
'06b38bd9f09da5fb22a765b6f1945fc349cc5f9d13cd32c9218b9b60b40a9010'
|
||||||
'12a9124b907f208471ba7aaac0f3261cbbd34a168cce3260fa9e7793994beebd'
|
'12a9124b907f208471ba7aaac0f3261cbbd34a168cce3260fa9e7793994beebd'
|
||||||
'26bc2b64af0d468f050c0e0dd9e2053176d56886edad9146bc495797bf2c5810'
|
'26bc2b64af0d468f050c0e0dd9e2053176d56886edad9146bc495797bf2c5810'
|
||||||
|
|||||||
@ -12,6 +12,7 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
if [ ! -f "/etc/default/kdump" ]; then
|
if [ ! -f "/etc/default/kdump" ]; then
|
||||||
|
logger "kdump-steamos: /etc/default/kdump not present - aborting..."
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -37,7 +38,7 @@ if [ "$1" = "initrd" ]; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$1" = "clear" ]; then
|
if [ "$1" = "clear" ]; then
|
||||||
rm -f ${KDUMP_FOLDER}/kdump-initrd-*
|
rm -f "${KDUMP_FOLDER}"/kdump-initrd-*
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -51,19 +52,19 @@ if [ "${USE_PSTORE_RAM}" -eq 1 ]; then
|
|||||||
RECORD_SIZE=0x200000 # 2MiB
|
RECORD_SIZE=0x200000 # 2MiB
|
||||||
RANGE=$(grep "RAM buffer" /proc/iomem | head -n1 | cut -f1 -d\ )
|
RANGE=$(grep "RAM buffer" /proc/iomem | head -n1 | cut -f1 -d\ )
|
||||||
|
|
||||||
MEM_END=$(echo "$RANGE" | cut -f2 -d\-)
|
MEM_END=$(echo "$RANGE" | cut -f2 -d-)
|
||||||
MEM_START=$(echo "$RANGE" | cut -f1 -d\-)
|
MEM_START=$(echo "$RANGE" | cut -f1 -d-)
|
||||||
MEM_SIZE=$(( 16#${MEM_END} - 16#${MEM_START} ))
|
MEM_SIZE=$(( 16#${MEM_END} - 16#${MEM_START} ))
|
||||||
|
|
||||||
if [ ${MEM_SIZE} -ge ${MEM_REQUIRED} ]; then
|
if [ ${MEM_SIZE} -ge ${MEM_REQUIRED} ]; then
|
||||||
if modprobe ramoops mem_address=0x${MEM_START} mem_size=${MEM_REQUIRED} record_size=${RECORD_SIZE}; then
|
if modprobe ramoops mem_address=0x${MEM_START} mem_size=${MEM_REQUIRED} record_size=${RECORD_SIZE}; then
|
||||||
|
logger "kdump-steamos: pstore-RAM was loaded successfully"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
logger "pstore-RAM load was attempted and failed...will try kdump"
|
logger "kdump-steamos: pstore-RAM load failed...will try kdump"
|
||||||
fi
|
fi
|
||||||
# Fallbacks to kdump load - if we fail when configuring pstore, better try kdump;
|
# Fallbacks to kdump load - if we fail when configuring pstore, better try kdump;
|
||||||
# who knows and we may be lucky enough to have some crashkernel reserved memory...
|
# who knows and we may be lucky enough to have some crashkernel reserved memory...
|
||||||
# TODO (maybe): could invert the order and try kdump first, if it fails, try pstore!
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# TODO: insert code here to validate that crashkernel is configured and
|
# TODO: insert code here to validate that crashkernel is configured and
|
||||||
@ -77,6 +78,7 @@ KDUMP_CMDLINE="${KDUMP_CMDLINE} panic=-1 oops=panic fsck.mode=force fsck.repair=
|
|||||||
VMLINUX="$(grep -o 'BOOT_IMAGE=[^ ]*' /proc/cmdline)"
|
VMLINUX="$(grep -o 'BOOT_IMAGE=[^ ]*' /proc/cmdline)"
|
||||||
|
|
||||||
if ! kexec -s -p "${VMLINUX#*BOOT_IMAGE=}" --initrd "${KDUMP_FOLDER}/kdump-initrd-$(uname -r).img" --append="${KDUMP_CMDLINE}"; then
|
if ! kexec -s -p "${VMLINUX#*BOOT_IMAGE=}" --initrd "${KDUMP_FOLDER}/kdump-initrd-$(uname -r).img" --append="${KDUMP_CMDLINE}"; then
|
||||||
logger "kdump load was attempted and failed"
|
logger "kdump-steamos: kdump load failed"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
logger "kdump-steamos: kdump was loaded successfully"
|
||||||
|
|||||||
Reference in New Issue
Block a user