From: Harald Hoyer Date: Fri, 24 Apr 2015 09:54:07 +0000 (+0200) Subject: Defer modprobe of HW modules, until udev is running X-Git-Tag: 042~46 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=437dad70e9525a21da873652080bbd62a9d8b96a;p=thirdparty%2Fdracut.git Defer modprobe of HW modules, until udev is running Also honor blacklisting --- diff --git a/modules.d/95fcoe/parse-fcoe.sh b/modules.d/95fcoe/parse-fcoe.sh index 9604503b7..b66fa3ec1 100755 --- a/modules.d/95fcoe/parse-fcoe.sh +++ b/modules.d/95fcoe/parse-fcoe.sh @@ -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() { diff --git a/modules.d/95iscsi/parse-iscsiroot.sh b/modules.d/95iscsi/parse-iscsiroot.sh index 37e46adf4..52f7a97d7 100755 --- a/modules.d/95iscsi/parse-iscsiroot.sh +++ b/modules.d/95iscsi/parse-iscsiroot.sh @@ -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