]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
Defer modprobe of HW modules, until udev is running
authorHarald Hoyer <harald@redhat.com>
Fri, 24 Apr 2015 09:54:07 +0000 (11:54 +0200)
committerHarald Hoyer <harald@redhat.com>
Fri, 24 Apr 2015 09:59:37 +0000 (11:59 +0200)
Also honor blacklisting

modules.d/95fcoe/parse-fcoe.sh
modules.d/95iscsi/parse-iscsiroot.sh

index 9604503b70d3782be67f579f807dbf623725745a..b66fa3ec1bcbac6515f7a5a6b54b22f7e6347a53 100755 (executable)
@@ -20,9 +20,9 @@
 
 
 # BRCM: Later, should check whether bnx2x is loaded first before loading bnx2fc so do not load bnx2fc when there are no Broadcom adapters
-[ -d /sys/module/fcoe ] || modprobe -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE"
+[ -d /sys/module/fcoe ] || modprobe -b -a fcoe || die "FCoE requested but kernel/initrd does not support FCoE"
 
-modprobe bnx2fc >/dev/null 2>&1
+initqueue --onetime modprobe -b -q bnx2fc
 udevadm settle --timeout=30
 
 parse_fcoe_opts() {
index 37e46adf49ee5d99191921298bb006194abd2feb..52f7a97d7fa958e3e69aeb4579b42a9f7b16f5b1 100755 (executable)
@@ -60,19 +60,15 @@ fi
 # iscsi_firmware does not need argument checking
 if [ -n "$iscsi_firmware" ] ; then
     [ -z "$netroot" ] && netroot=iscsi:
-    modprobe -q iscsi_boot_sysfs 2>/dev/null
-    modprobe -q iscsi_ibft
+    modprobe -b -q iscsi_boot_sysfs 2>/dev/null
+    modprobe -b -q iscsi_ibft
     initqueue --onetime --timeout /sbin/iscsiroot dummy "$netroot" "$NEWROOT"
 fi
 
 # If it's not iscsi we don't continue
 [ "${netroot%%:*}" = "iscsi" ] || return
 
-modprobe -q qla4xxx
-modprobe -q cxgb3i
-modprobe -q cxgb4i
-modprobe -q bnx2i
-modprobe -q be2iscsi
+initqueue --onetime modprobe --all -b -q qla4xxx cxgb3i cxgb4i bnx2i be2iscsi
 
 if [ -z "$iscsi_firmware" ] ; then
     type parse_iscsi_root >/dev/null 2>&1 || . /lib/net-lib.sh
@@ -81,7 +77,7 @@ fi
 
 # ISCSI actually supported?
 if ! [ -e /sys/module/iscsi_tcp ]; then
-    modprobe -q iscsi_tcp || die "iscsiroot requested but kernel/initrd does not support iscsi"
+    modprobe -b -q iscsi_tcp || die "iscsiroot requested but kernel/initrd does not support iscsi"
 fi
 
 if [ -n "$netroot" ] && [ "$root" != "/dev/root" ] && [ "$root" != "dhcp" ]; then