summaryrefslogtreecommitdiff
path: root/modules.d
diff options
context:
space:
mode:
authorHarald Hoyer <harald@redhat.com>2013-07-12 10:14:42 +0200
committerHarald Hoyer <harald@redhat.com>2013-07-12 10:15:10 +0200
commit85231e1ff3e5034ef8476020d49895239541ff73 (patch)
tree07c16e1b311dce6e9e1c667bdbad9b9abc93cb21 /modules.d
parent88396c383cbe2937cac7dcff9f7100827738a67c (diff)
downloaddracut-85231e1ff3e5034ef8476020d49895239541ff73.tar.gz
dracut-85231e1ff3e5034ef8476020d49895239541ff73.tar.bz2
dracut-85231e1ff3e5034ef8476020d49895239541ff73.zip
base/module-setup.sh: do not add devs to initqueue/finished
when need-initqueue is not set in systemd 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
}