#!/bin/bash if [[ -z $drivers ]]; then block_module_test() { local blockfuncs='ata_scsi_ioctl|scsi_add_host|blk_init_queue|register_mtd_blktrans|scsi_esp_register|register_virtio_device' nm -uPA "$1" | egrep -q "$blockfuncs" } instmods pcmcia sd_mod scsi_dh scsi_dh_rdac scsi_dh_emc instmods firewire-ohci instmods "=drivers/pcmcia" =ide "=drivers/usb/storage" instmods $(filter_kernel_modules block_module_test) # if not on hostonly mode, install all known filesystems if the required list is not set via the filesystems variable if ! [[ $hostonly ]]; then if [[ -z $filesystems ]]; then instmods '=fs' else instmods $filesystems fi else instmods $(get_fs_type "/dev/block/$(find_root_block_device)") fi # hardcoded list of exceptions rm -fr ${initdir}/lib/modules/*/kernel/fs/ocfs2 else instmods $drivers $filesystems fi [[ $add_drivers ]] && instmods $add_drivers # force install of scsi_wait_scan old_hostonly=$hostonly hostonly='' instmods scsi_wait_scan hostonly=$old_hostonly