You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
From 779f980658ab223773ef065ac3f833aacd374c53 Mon Sep 17 00:00:00 2001 |
|
From: Harald Hoyer <harald@redhat.com> |
|
Date: Fri, 17 Jan 2014 15:27:47 +0100 |
|
Subject: [PATCH] base/dracut-lib.sh: "halt" the machine in systemd mode for |
|
die() |
|
|
|
and only go in emergency shell if "rd.debug" is specified |
|
|
|
https://bugzilla.redhat.com/show_bug.cgi?id=1053655 |
|
--- |
|
modules.d/99base/dracut-lib.sh | 19 ++++++++++++++++--- |
|
1 file changed, 16 insertions(+), 3 deletions(-) |
|
|
|
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh |
|
index a3476ab3..e74b93fa 100755 |
|
--- a/modules.d/99base/dracut-lib.sh |
|
+++ b/modules.d/99base/dracut-lib.sh |
|
@@ -1,4 +1,4 @@ |
|
-#!/bin/sh |
|
+!/bin/sh |
|
# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- |
|
# ex: ts=8 sw=4 sts=4 et filetype=sh |
|
|
|
@@ -430,8 +430,15 @@ die() { |
|
echo "warn dracut: Refusing to continue"; |
|
} >> $hookdir/emergency/01-die.sh |
|
[ -d /run/initramfs ] || mkdir -p -- /run/initramfs |
|
+ |
|
> /run/initramfs/.die |
|
- emergency_shell |
|
+ |
|
+ getargbool 0 "rd.debug=" && emergency_shell |
|
+ |
|
+ if [ -n "$DRACUT_SYSTEMD" ]; then |
|
+ systemctl --no-block --force halt |
|
+ fi |
|
+ |
|
exit 1 |
|
} |
|
|
|
@@ -1045,7 +1052,13 @@ emergency_shell() |
|
# cause a kernel panic |
|
exit 1 |
|
fi |
|
- [ -e /run/initramfs/.die ] && exit 1 |
|
+ |
|
+ if [ -e /run/initramfs/.die ]; then |
|
+ if [ -n "$DRACUT_SYSTEMD" ]; then |
|
+ systemctl --no-block --force halt |
|
+ fi |
|
+ exit 1 |
|
+ fi |
|
} |
|
|
|
action_on_fail()
|
|
|