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 |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dracut-functions b/dracut-functions
index 852ce36..f40694e 100755
--- a/dracut-functions
+++ b/dracut-functions
@@ -167,17 +167,17 @@ 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; do
+               2>/dev/null |while read cmd modpath options; do
                    [[ $cmd = insmod ]] || continue
                    modname=${modpath##*/}
                    modname=${modname%.ko}
@@ -185,7 +185,7 @@ instmods() {
                        instmods $mpargs $modname
                        continue
                    }
-                   inst_simple "$modpath" "/lib/modules/$kernel/$modname.ko"
+                   inst_simple "$modpath"
                done
                ;;
        esac
-- 
1.6.0.6

--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to