[ -d ${PREFIX}/etc/systemd/system/initrd.target.requires ] || mkdir -p ${PREFIX}/etc/systemd/system/initrd.target.requires
ln -s ../${_name}.device ${PREFIX}/etc/systemd/system/initrd.target.requires/${_name}.device
fi
+
+ mkdir -p ${PREFIX}/etc/systemd/system/${_name}.device.d
+ {
+ echo "[Unit]"
+ echo "JobTimeoutSec=3600"
+ } > ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf
+ [ -z "$PREFIX" ] && /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload
fi
}
_name="$(str_replace "$1" '/' '\\x2f')"
rm -f "$hookdir/initqueue/finished/devexists-${_name}.sh"
rm -f "$hookdir/emergency/80-${_name}.sh"
+ if [ -n "$DRACUT_SYSTEMD" ]; then
+ _name=$(dev_unit_name "$1")
+ rm -f ${PREFIX}/etc/systemd/system/initrd.target.requires/${_name}.device
+ rm -f ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf
+ /sbin/initqueue --onetime --unique --name daemon-reload systemctl daemon-reload
+ fi
}
killproc() {
# returns OK if both lists contain the same values. An order and a duplication
# doesn't matter.
-#
+#
# $1 = separator
# $2 = list1
# $3 = list2
## save host_devs which we need bring up
(
+ if dracut_module_included "systemd"; then
+ DRACUT_SYSTEMD=1
+ fi
+ PREFIX="$initdir"
+
. "$moddir/dracut-lib.sh"
+
for _dev in ${host_devs[@]}; do
_pdev=$(get_persistent_dev $_dev)
case "$_pdev" in
- /dev/?*)
- if ! dracut_module_included "systemd"; then
- PREFIX="$initdir" wait_for_dev $_pdev
- else
- DRACUT_SYSTEMD=1 PREFIX="$initdir" wait_for_dev $_pdev
- fi
- ;;
+ /dev/?*) wait_for_dev $_pdev;;
*) ;;
esac
done
+++ /dev/null
-#!/bin/sh
-# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
-# ex: ts=8 sw=4 sts=4 et filetype=sh
-
-type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
-
-wait_host_devs() {
- local _dev
-
- while read _dev; do
- case "$_dev" in
- /dev/?*)
- wait_for_dev $_dev
- ;;
- *) ;;
- esac
- done < $1
-}
-
-[ -f /etc/host_devs ] && wait_host_devs /etc/host_devs