In kdump, When the dump device was removed, dracut will drop to shell during second kernel boot. That means kdump isn't even started. But in this case, if the target isn't presented, we should dump to a rootfs device as a default action. In this patch, add a new parameter continue_on_fail. After initqueue timeout, detect whether this parameter is specified. If yes,continue. If not, enter into emergency_shell. For later extending, user need give timeout point. E.g, use this parameter like below: continue_on_fail=initqueue dracut.cmdline.7.asc: add the relevant description Signed-off-by: Baoquan He <bhe@xxxxxxxxxx> --- dracut.cmdline.7.asc | 3 +++ modules.d/98systemd/dracut-initqueue.sh | 5 ++++- 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc index 62372a5..31d2d84 100644 --- a/dracut.cmdline.7.asc +++ b/dracut.cmdline.7.asc @@ -121,6 +121,9 @@ Misc specify the controlling terminal for the console. This is useful, if you have multiple "console=" arguments. +**continue_on_fail=**_{initqueue}_:: + continue after initqueue timeout by specify the timeout point 'initqueue' + [[dracutkerneldebug]] Debug ~~~~~ diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh index 7de89e9..f889d20 100755 --- a/modules.d/98systemd/dracut-initqueue.sh +++ b/modules.d/98systemd/dracut-initqueue.sh @@ -61,7 +61,10 @@ while :; do fi main_loop=$(($main_loop+1)) - [ $main_loop -gt $RDRETRY ] && emergency_shell "Could not boot." + if [ $main_loop -gt $RDRETRY ]; then + getarg 'continue_on_fail=initqueue' && break + emergency_shell "Could not boot." + fi done unset job -- 1.7.1 -- To unsubscribe from this list: send the line "unsubscribe initramfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html