]> git.pld-linux.org Git - projects/geninitrd.git/blame - mod-scsi.sh
Timeout here is not a good idea. rootfs cannot be mounted and kernel oopses due to...
[projects/geninitrd.git] / mod-scsi.sh
CommitLineData
35043b20 1#!/bin/sh
35043b20
ER
2# geninitrd mod: scsi
3
4# it should be safe to remove scsi_mod from here, but I'm not sure...
5PRESCSIMODS="-scsi_mod unknown -sd_mod"
6
7# ???
8ide_only_root=${ide_only_root:-no}
9
10# allow forcing loading IDE modules, likely from sysconfig/geninitrd
11ADDIDE=${ADDIDE:-no}
12
13# return true if node is scsi device
14# @param string $node device node to be examined
15# @access public
16is_scsi() {
17 local node="$1"
18 if [ ! -e "$node" ]; then
19 warn "is_scsi(): node $node doesn't exist!"
20 return 1
21 fi
22
23 # TODO: more sophisticated check, not just pathname check
69bbedbb 24 if is_yes "$(echo "$node" | awk '/^\/dev\/(sd|scsi|vd)/ { print "yes"; }')"; then
35043b20
ER
25 return 0
26 fi
27
28 return 1
29}
30
31# find modules for $devpath
32# @param $devpath device to be examined
33# @access public
34find_modules_scsi() {
35 local devpath=$1
36
37 local n
38 for n in $PRESCSIMODS; do
39 if [ "X$n" = "Xunknown" ]; then
02ba8ab7 40 verbose "Finding SCSI modules using scsi_hostadapter"
99e7251e 41 local mod scsimodules=$(modprobe_conf | awk '/scsi_hostadapter/ { print $3 }')
35043b20
ER
42 for mod in $scsimodules; do
43 # for now allow scsi modules to come from anywhere. There are some
44 # RAID controllers with drivers in block
45 find_module "$mod"
46 done
47 else
48 find_module "$n"
49 fi
50 done
51 find_module "-scsi_wait_scan"
52}
53
54
55# generate initrd fragment for ide device init
56# @access public
57initrd_gen_scsi() {
58 # nothing to do here
59 return 0
60}
This page took 1.627458 seconds and 4 git commands to generate.