]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
Modify instmods to not rely on the existence of modules.* files
authorVictor Lowther <victor.lowther-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Wed, 4 Mar 2009 00:21:10 +0000 (16:21 -0800)
committerHarald Hoyer <harald@redhat.com>
Wed, 4 Mar 2009 16:11:11 +0000 (17:11 +0100)
This patch series aims to make dracut more distro-independent.  It includes
some of the functionality that Seewer Philippe posted to the list to make
dracut work on Ubuntu.

depmod does not create these files on all distros (Debian, specifically),
so modify instmods to use pathname components and find to do what we want.

As a bonus, this removes the special-case for =ata.

dracut-functions

index 50e4588302ba630d95d6be27f57a8c3f1e3fd583..6c84d7f423402d63f4c852e24f6e8b15e0c938a8 100755 (executable)
@@ -177,14 +177,14 @@ dracut_install() {
     done
 }
 
-modcat="/lib/modules/$kernel/modules"
+srcmods="/lib/modules/$kernel/"
 instmods() {
     local mod mpargs modpath modname cmd
     while (($# > 0)); do
        mod=${1%.ko}
+       mod=${mod##*/}
        case $mod in
-           =ata) instmods $mpargs $(cat "${modcat}.block" |egrep 'ata|ahci');;
-           =*) instmods $mpargs $(cat "${modcat}.${mod#=}");;
+           =*) instmods $mpargs $(find "$srcmods" -path "*/${mod#=}/*");;
            --*) mpargs+=" $mod";;
            *) modprobe $mpargs --set-version $kernel --show-depends $mod \
                2>/dev/null |while read cmd modpath options; do
@@ -195,7 +195,7 @@ instmods() {
                        instmods $mpargs $modname
                        continue
                    }
-                   inst_simple "$modpath" "/lib/modules/$kernel/$modname.ko"
+                   inst_simple "$modpath"
                done
                ;;
        esac