You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
884 B
29 lines
884 B
#!/bin/bash |
|
if [[ -z $drivers ]]; then |
|
drivers="sd_mod" |
|
# Include block controller drivers |
|
blockfuncs='ata_scsi_ioctl|scsi_add_host|blk_init_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device' |
|
if [[ $hostonly = "" ]]; then |
|
for modname in $(find "$srcmods/kernel/drivers" -name '*.ko'); do |
|
if nm -uPA $modname | egrep -q "$blockfuncs"; then |
|
drivers="${drivers} $modname" |
|
fi |
|
done |
|
drivers="${drivers} =fs" |
|
else |
|
while read modname rest; do |
|
modname=$(modinfo -F filename -k $kernel $modname) |
|
if nm -uPA $modname |egrep -q "$blockfuncs"; then |
|
drivers="${drivers} $modname" |
|
fi |
|
done </proc/modules |
|
instmods $(get_fs_type "/dev/block/$(find_root_block_device)") |
|
fi |
|
instmods $drivers |
|
# hardcoded list of exceptions |
|
rm -fr ${initdir}/lib/modules/*/kernel/fs/ocfs2 |
|
else |
|
instmods $drivers |
|
fi |
|
|
|
|
|
|