]> git.pld-linux.org Git - projects/geninitrd.git/blame - mod-sata.sh
Timeout here is not a good idea. rootfs cannot be mounted and kernel oopses due to...
[projects/geninitrd.git] / mod-sata.sh
CommitLineData
fb9e3ed2 1#!/bin/sh
fb9e3ed2 2# geninitrd mod: sata
3
13639229 4find_modules_sata() {
02ba8ab7 5 verbose "Finding SATA modules (class=0x0106)"
13639229 6
fb9e3ed2 7 # Classes (we want only 0106)
13639229
ER
8 # http://pci-ids.ucw.cz/read/PD/01
9 # 0100 - SCSI
fb9e3ed2 10 # 0101 - IDE/PATA
11 # 0106 - SATA/AHCI
12 # 0107 - SAS
8b2e8710
ER
13 local m modules=$(find_modules_by_class 0106)
14
944bba65
ER
15 # sort modules that ones who depend on libata are first
16 # this is best we could think of now :)
17 local left right
8b2e8710 18 for m in $modules; do
944bba65
ER
19 if NEW_MODINFO=1 modinfo -k $kernel -F depends $m | grep -q libata; then
20 left="$left $m"
21 else
22 right="$right $m"
23 fi
24 done
25
26 for m in $left $right; do
8b2e8710
ER
27 find_module $m
28 done
fb9e3ed2 29}
This page took 2.462625 seconds and 4 git commands to generate.