From ca7d88da139afc2b83a34a9b7e8800288326cc06 Mon Sep 17 00:00:00 2001 From: Victor Lowther Date: Tue, 3 Mar 2009 16:21:10 -0800 Subject: [PATCH] Modify instmods to not rely on the existence of modules.* files 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 | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/dracut-functions b/dracut-functions index 50e4588..6c84d7f 100755 --- a/dracut-functions +++ b/dracut-functions @@ -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 -- 2.7.4