]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
network: split out kernel-network-modules
authorHarald Hoyer <harald@redhat.com>
Tue, 24 Mar 2015 14:56:50 +0000 (15:56 +0100)
committerHarald Hoyer <harald@redhat.com>
Tue, 24 Mar 2015 15:03:47 +0000 (16:03 +0100)
modules.d/40network/module-setup.sh
modules.d/90kernel-network-modules/module-setup.sh [new file with mode: 0755]

index f7e0a8774ca3eafa0cbd369d9a13d8f5c2e3304d..4bf93cc6d775a2166f2f2a092016442741fcfca1 100755 (executable)
@@ -11,61 +11,13 @@ check() {
 
 # called by dracut
 depends() {
+    echo "kernel-network-modules"
     return 0
 }
 
 # called by dracut
 installkernel() {
-    # Include wired net drivers, excluding wireless
-    local _arch=$(uname -m)
-
-    net_module_filter() {
-        local _net_drivers='eth_type_trans|register_virtio_device|usbnet_open'
-        local _unwanted_drivers='/(wireless|isdn|uwb|net/ethernet|net/phy|net/team)/'
-        local _ret
-        # subfunctions inherit following FDs
-        local _merge=8 _side2=9
-        function nmf1() {
-            local _fname _fcont
-            while read _fname; do
-                [[ $_fname =~ $_unwanted_drivers ]] && continue
-                case "$_fname" in
-                    *.ko)    _fcont="$(<        $_fname)" ;;
-                    *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
-                    *.ko.xz) _fcont="$(xz -dc   $_fname)" ;;
-                esac
-                [[   $_fcont =~ $_net_drivers
-                && ! $_fcont =~ iw_handler_get_spy ]] \
-                && echo "$_fname"
-            done
-            return 0
-        }
-        function rotor() {
-            local _f1 _f2
-            while read _f1; do
-                echo "$_f1"
-                if read _f2; then
-                    echo "$_f2" 1>&${_side2}
-                fi
-            done | nmf1 1>&${_merge}
-            return 0
-        }
-        # Use two parallel streams to filter alternating modules.
-        set +x
-        eval "( ( rotor ) ${_side2}>&1 | nmf1 ) ${_merge}>&1"
-        [[ $debug ]] && set -x
-        return 0
-    }
-
-    { find_kernel_modules_by_path drivers/net; if [ "$_arch" = "s390" -o "$_arch" = "s390x" ]; then find_kernel_modules_by_path drivers/s390/net; fi; } \
-        | net_module_filter | instmods
-
-    #instmods() will take care of hostonly
-    instmods \
-        =drivers/net/phy \
-        =drivers/net/team \
-        =drivers/net/ethernet \
-        ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net
+    return 0
 }
 
 # called by dracut
diff --git a/modules.d/90kernel-network-modules/module-setup.sh b/modules.d/90kernel-network-modules/module-setup.sh
new file mode 100755 (executable)
index 0000000..b956ebe
--- /dev/null
@@ -0,0 +1,71 @@
+#!/bin/bash
+
+# called by dracut
+check() {
+    return 255
+}
+
+# called by dracut
+depends() {
+    return 0
+}
+
+# called by dracut
+installkernel() {
+    # Include wired net drivers, excluding wireless
+    local _arch=$(uname -m)
+
+    net_module_filter() {
+        local _net_drivers='eth_type_trans|register_virtio_device|usbnet_open'
+        local _unwanted_drivers='/(wireless|isdn|uwb|net/ethernet|net/phy|net/team)/'
+        local _ret
+        # subfunctions inherit following FDs
+        local _merge=8 _side2=9
+        function nmf1() {
+            local _fname _fcont
+            while read _fname; do
+                [[ $_fname =~ $_unwanted_drivers ]] && continue
+                case "$_fname" in
+                    *.ko)    _fcont="$(<        $_fname)" ;;
+                    *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
+                    *.ko.xz) _fcont="$(xz -dc   $_fname)" ;;
+                esac
+                [[   $_fcont =~ $_net_drivers
+                && ! $_fcont =~ iw_handler_get_spy ]] \
+                && echo "$_fname"
+            done
+            return 0
+        }
+        function rotor() {
+            local _f1 _f2
+            while read _f1; do
+                echo "$_f1"
+                if read _f2; then
+                    echo "$_f2" 1>&${_side2}
+                fi
+            done | nmf1 1>&${_merge}
+            return 0
+        }
+        # Use two parallel streams to filter alternating modules.
+        set +x
+        eval "( ( rotor ) ${_side2}>&1 | nmf1 ) ${_merge}>&1"
+        [[ $debug ]] && set -x
+        return 0
+    }
+
+    { find_kernel_modules_by_path drivers/net; if [ "$_arch" = "s390" -o "$_arch" = "s390x" ]; then find_kernel_modules_by_path drivers/s390/net; fi; } \
+        | net_module_filter | instmods
+
+    #instmods() will take care of hostonly
+    instmods \
+        =drivers/net/phy \
+        =drivers/net/team \
+        =drivers/net/ethernet \
+        ecb arc4 bridge stp llc ipv6 bonding 8021q af_packet virtio_net
+}
+
+# called by dracut
+install() {
+    return 0
+}
+