diff options
Diffstat (limited to 'modules.d')
-rwxr-xr-x | modules.d/99base/module-setup.sh | 37 |
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 } |