done
}
+srcmods="/lib/modules/$kernel/"
+[ -n "$drivers_dir" ] && srcmods="$drivers_dir"
+
# install kernel modules, and handle installing all their dependencies as well.
instmods() {
local mod mpargs modpath modname cmd
- local srcmods
- srcmods="/lib/modules/$kernel/"
- [ -n "$drivers_dir" ] && srcmods="$drivers_dir"
while (($# > 0)); do
mod=${1%.ko}
case $mod in
#!/bin/bash
dracut_install ip dhclient hostname brctl
# Include wired net drivers, excluding wireless
-for modname in $(find "/lib/modules/$kernel/kernel/drivers" -name '*.ko'); do
+for modname in $(find "$srcmods/kernel/drivers" -name '*.ko'); do
if nm -uPA $modname | grep -q eth_type_trans; then
if echo "$modname" | grep -q wireless; then
continue
inst_hook emergency 50 "$moddir"/plymouth-emergency.sh
inst "$moddir"/cryptroot-ask.sh /sbin/cryptroot-ask
# Include KMS capable drm drivers
-for modname in $(find "/lib/modules/$kernel/kernel/drivers/gpu/drm" -name '*.ko'); do
+for modname in $(find "$srcmods/kernel/drivers/gpu/drm" -name '*.ko'); do
nm -uPA $modname | grep -q drm_crtc_init && instmods $modname
done
if [ -z "$drivers" ]; then
drivers="sd_mod =fs"
# Include block controller drivers
- for modname in $(find "/lib/modules/$kernel/kernel/drivers" -name '*.ko'); do
+ for modname in $(find "$srcmods/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
drivers="${drivers} $modname"
fi