earlykdump: add more sanity check when generating initramfs
Currently when earlykdump failed to install required kernel image or initramfs, it will still install the earlykdump hook and other utils. But it won't work due to the absent of kernel image or kdump initramfs, so the hook and installed utils is meanless. We can't simply fail dracut building, as if earlykdump is included by dracut config file, this may fail kernel update, where kernel image is installed but initramfs failed to generate, and then it will fail booting. So this patch let it skip earlydkump install if anything is missing and give a clean error message to let the user better ware of the situation. Signed-off-by: Kairui Song <kasong@redhat.com> Acked-by: Dave Young <dyoung@redhat.com>
This commit is contained in:
parent
8a476dabf0
commit
d45da38dca
@ -32,13 +32,25 @@ prepare_kernel_initrd() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
install() {
|
install() {
|
||||||
|
prepare_kernel_initrd
|
||||||
|
if [ ! -f "$KDUMP_KERNEL" ]; then
|
||||||
|
derror "Could not find required kernel for earlykdump," \
|
||||||
|
"earlykdump will not work!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
if [ ! -f "$KDUMP_INITRD" ]; then
|
||||||
|
derror "Could not find required kdump initramfs for earlykdump," \
|
||||||
|
"please ensure kdump initramfs is generated first," \
|
||||||
|
"earlykdump will not work!"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
|
||||||
inst_multiple tail find cut dirname hexdump
|
inst_multiple tail find cut dirname hexdump
|
||||||
inst_simple "/etc/sysconfig/kdump"
|
inst_simple "/etc/sysconfig/kdump"
|
||||||
inst_binary "/usr/sbin/kexec"
|
inst_binary "/usr/sbin/kexec"
|
||||||
inst_binary "/usr/bin/gawk" "/usr/bin/awk"
|
inst_binary "/usr/bin/gawk" "/usr/bin/awk"
|
||||||
inst_script "/lib/kdump/kdump-lib.sh" "/lib/kdump-lib.sh"
|
inst_script "/lib/kdump/kdump-lib.sh" "/lib/kdump-lib.sh"
|
||||||
inst_hook cmdline 00 "$moddir/early-kdump.sh"
|
inst_hook cmdline 00 "$moddir/early-kdump.sh"
|
||||||
prepare_kernel_initrd
|
|
||||||
inst_binary "$KDUMP_KERNEL"
|
inst_binary "$KDUMP_KERNEL"
|
||||||
inst_binary "$KDUMP_INITRD"
|
inst_binary "$KDUMP_INITRD"
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user