#!/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')