2022-12-21 13:17:29 -03:00
|
|
|
build() {
|
2023-03-22 20:08:47 -03:00
|
|
|
load_kdumpst_config
|
2022-12-21 13:17:29 -03:00
|
|
|
|
|
|
|
|
# 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"
|
2022-12-21 13:17:29 -03:00
|
|
|
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/
|
2022-12-21 13:17:29 -03:00
|
|
|
|
|
|
|
|
# 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"
|
2022-12-21 13:17:29 -03:00
|
|
|
exit 1
|
|
|
|
|
fi
|
2023-03-22 20:08:47 -03:00
|
|
|
echo "${DEVNODE}" > "${BUILDROOT}"/usr/lib/kdumpst/kdump.mnt
|
2022-12-21 13:17:29 -03:00
|
|
|
|
|
|
|
|
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"
|
2022-12-21 13:17:29 -03:00
|
|
|
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
|
2022-12-21 13:17:29 -03:00
|
|
|
|
|
|
|
|
add_runscript
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
help() {
|
|
|
|
|
cat <<HELPEOF
|
2023-03-22 20:08:47 -03:00
|
|
|
Hook responsible for creating the kdumpst minimal kdump initramfs.
|
2022-12-21 13:17:29 -03:00
|
|
|
HELPEOF
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
# vim: set ft=sh ts=4 sw=4 et:
|