build() { load_kdumpst_config # A valid makedumpfile is essential for the kdump initrd creation. if ! command -v makedumpfile 1>/dev/null; then 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. 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 logger "kdumpst: error on devnode discovery" exit 1 fi echo "${DEVNODE}" > "${BUILDROOT}"/usr/lib/kdumpst/kdump.mnt TGT="$(findmnt -n -o TARGET --target "${MOUNT_FOLDER}")" if [ -z "${TGT}" ]; then logger "kdumpst: error on base folder discovery" exit 1 fi BASE_FLD="${MOUNT_FOLDER#*$TGT}" echo "${BASE_FLD}" > "${BUILDROOT}"/usr/lib/kdumpst/kdump.dir add_runscript } help() { cat <