summaryrefslogtreecommitdiff
path: root/modules.d
diff options
context:
space:
mode:
Diffstat (limited to 'modules.d')
-rwxr-xr-xmodules.d/99base/module-setup.sh37
1 files changed, 20 insertions, 17 deletions
diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
index d35cba50..57fd3bc5 100755
--- a/modules.d/99base/module-setup.sh
+++ b/modules.d/99base/module-setup.sh
@@ -103,21 +103,24 @@ install() {
ln -sf initrd-release $initdir/etc/os-release
## 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/?*) wait_for_dev $_pdev;;
- *) ;;
- esac
- done
- )
+ if [[ -f "$initdir/lib/dracut/need-initqueue" ]] || ! dracut_module_included "systemd"; then
+ (
+ if dracut_module_included "systemd"; then
+ DRACUT_SYSTEMD=1
+ fi
+ PREFIX="$initdir"
+
+ . "$moddir/dracut-lib.sh"
+
+ for _dev in ${host_devs[@]}; do
+ [[ "$_dev" == "$root_dev" ]] && continue
+ _pdev=$(get_persistent_dev $_dev)
+
+ case "$_pdev" in
+ /dev/?*) wait_for_dev $_pdev;;
+ *) ;;
+ esac
+ done
+ )
+ fi
}