Currently kdump use some wrapper around dracut emergency service and
emergency shell, this have many problems:
- If dracut-initqueue failed back to emergency mode due to timeout,
and faiure action is set to dump_to_rootfs, kdump will try start
initqueue again, lead to double timeout error.
- Dracut's emergency shell have many builtin actions, like
perform dracut emergency_action, ask for root password, generate
This series remove the emergency wrapper, and use a standalone kdump
emergency shell. Kdump will always perform final_action after kdump
shell, so simplified version works fine.
Update from V3:
- Fix initqueue dead loop in patch 1/3 found by Coiby.
Checking is-active || is-failure is not valid here since initqueue
might stuck in activating status, so check service status instead.
Update from V2:
Fix an redundant string escaping issue found by Coiby.
Update from V1:
Fix initqueue status detection in patch 1/3, thanks to Coiby.
Kairui Song (3):
Don's try to restart dracut-initqueue if it's already there
Remove the kdump error handler isolation wrapper
Use a customized emergency shell
dracut-kdump-emergency.service | 25 +++++++++----------
dracut-kdump-error-handler.service | 33 ------------------------
dracut-module-setup.sh | 1 -
kdump-lib-initramfs.sh | 40 +++++++++++++++++++++++++-----
kexec-tools.spec | 2 --
5 files changed, 46 insertions(+), 55 deletions(-)
delete mode 100644 dracut-kdump-error-handler.service