Files
kdumpst/initramfs/initcpio/kdump.install.in
T

53 lines
1.7 KiB
Bash
Raw Normal View History

build() {
2023-03-22 20:08:47 -03:00
load_kdumpst_config
# A valid makedumpfile is essential for the kdump initrd creation.
if ! command -v makedumpfile 1>/dev/null; then
2023-03-22 20:08:47 -03:00
logger "kdumpst: failed to create minimal initrd, makedumpfile is missing"
exit 1
fi
add_binary /usr/bin/date
add_binary /usr/bin/sync
add_binary "$(command -v makedumpfile)"
# Copying kdump config/lib files is essential for a functional kdump.
2023-03-22 20:08:47 -03:00
add_full_dir /usr/share/kdumpst.d/
add_full_dir /usr/lib/kdumpst/
# We need to derive the proper place to save the dump from the
# config files, in a way that makes possible to mount it in early boot.
DEVNODE="$(findmnt -n -o SOURCE --target "${MOUNT_FOLDER}")"
if [ -z "${DEVNODE}" ]; then
2023-03-22 20:08:47 -03:00
logger "kdumpst: error on devnode discovery"
exit 1
fi
2023-03-22 20:08:47 -03:00
echo "${DEVNODE}" > "${BUILDROOT}"/usr/lib/kdumpst/kdump.mnt
TGT="$(findmnt -n -o TARGET --target "${MOUNT_FOLDER}")"
if [ -z "${TGT}" ]; then
2023-03-22 20:08:47 -03:00
logger "kdumpst: error on base folder discovery"
exit 1
fi
BASE_FLD="${MOUNT_FOLDER#*$TGT}"
2023-03-22 20:08:47 -03:00
echo "${BASE_FLD}" > "${BUILDROOT}"/usr/lib/kdumpst/kdump.dir
# Finally, we shouldn't have DRM/GPU drivers and firmwares here,
# but...just in case, let's remove all of that nevertheless.
# Our list includes the most common GFX FW blobs (AMD, i915, Nvidia)
# and all GPU/DRM drivers.
rm -rf "${BUILDROOT}"/usr/lib/firmware/{amdgpu,i915,nvidia,radeon}/
rm -rf "${BUILDROOT}"/usr/lib/modules/*/kernel/drivers/gpu/drm/*
add_runscript
}
help() {
cat <<HELPEOF
2023-03-22 20:08:47 -03:00
Hook responsible for creating the kdumpst minimal kdump initramfs.
HELPEOF
}
# vim: set ft=sh ts=4 sw=4 et: