From eddca3c9c24e4cb9c5def0b98920e36b16fafaac Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Mon, 15 Feb 2016 08:29:40 +0000 Subject: [PATCH] dracut-systemd/dracut-cmdline-ask: fix dracut --kernel-cmdline=rd.cmdline=ask How to reproduce: host# dracut --kernel-cmdline='rd.cmdline=ask' initramfs.img host# qemu-system-x86_64 -initrd initramfs.img ... -append root=/dev/sda1 ... ... qemu-host# journalctl -b | grep dracut-cmdline-ask ... Feb 15 08:45:36 localhost systemd[1]: dracut-cmdline-ask.service: Installed new job dracut-cmdline-ask.service/start as 42 Feb 15 08:45:36 localhost systemd[1]: dracut-cmdline-ask.service: ConditionKernelCommandLine=rd.cmdline=ask failed. Feb 15 08:45:36 localhost systemd[1]: dracut-cmdline-ask.service: Starting requested but condition failed. Not starting unit. Feb 15 08:45:36 localhost systemd[1]: dracut-cmdline-ask.service: Job dracut-cmdline-ask.service/start finished, result=done ... Signed-off-by: Evgeny Vereshchagin --- modules.d/98dracut-systemd/dracut-cmdline-ask.service | 3 ++- modules.d/98dracut-systemd/dracut-cmdline-ask.sh | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.service b/modules.d/98dracut-systemd/dracut-cmdline-ask.service index 9a34b35..8bc7d80 100644 --- a/modules.d/98dracut-systemd/dracut-cmdline-ask.service +++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.service @@ -14,7 +14,8 @@ Before=dracut-cmdline.service After=systemd-journald.socket Wants=systemd-journald.socket ConditionPathExists=/usr/lib/initrd-release -ConditionKernelCommandLine=rd.cmdline=ask +ConditionKernelCommandLine=|rd.cmdline=ask +ConditionPathExistsGlob=|/etc/cmdline.d/*.conf [Service] Environment=DRACUT_SYSTEMD=1 diff --git a/modules.d/98dracut-systemd/dracut-cmdline-ask.sh b/modules.d/98dracut-systemd/dracut-cmdline-ask.sh index ab8933a..f410f46 100755 --- a/modules.d/98dracut-systemd/dracut-cmdline-ask.sh +++ b/modules.d/98dracut-systemd/dracut-cmdline-ask.sh @@ -1,5 +1,9 @@ #!/bin/bash +type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + +getarg "rd.cmdline=ask" || exit 0 + sleep 0.5 echo sleep 0.5