]> git.ipfire.org Git - thirdparty/dracut.git/commitdiff
Detect block drivers during dracut since we cannot rely on the modules.block list.
authorWarren Togami <wtogami@redhat.com>
Tue, 30 Jun 2009 18:36:57 +0000 (14:36 -0400)
committerWarren Togami <wtogami@redhat.com>
Tue, 30 Jun 2009 18:36:57 +0000 (14:36 -0400)
modules.d/90kernel-modules/install

index d1c430e7b4d49e26d30d75727e429d4ce0b7e307..eec3ae7293ebb2260ed0f2913db10635c452d79a 100755 (executable)
@@ -1,7 +1,14 @@
 #!/bin/bash
-# FIXME: hard-coded module list of doom.
-[[ $drivers ]] || drivers="=block sd_mod =fs"
-instmods $drivers
+if [ -z $drivers ]; then
+  drivers="sd_mod =fs"
+  instmods $drivers
+  # Include block controller drivers
+  for modname in $(find "/lib/modules/$kernel/kernel/drivers" -name '*.ko'); do
+    if nm -uPA $modname | egrep -q 'ata_scsi_ioctl|scsi_add_host|blk_init_queue|register_mtd_blktrans|scsi_esp_register'; then
+      instmods $modname
+    fi
+  done
+fi
 
 [ -f /etc/modprobe.conf ] && dracut_install /etc/modprobe.conf
 dracut_install $(find /etc/modprobe.d/ -type f -name '*.conf')