summaryrefslogtreecommitdiffstats
path: root/install
diff options
context:
space:
mode:
Diffstat (limited to 'install')
-rw-r--r--install/block45
l---------[-rw-r--r--]install/fw22
l---------[-rw-r--r--]install/mmc19
l---------[-rw-r--r--]install/pata22
l---------[-rw-r--r--]install/sata23
l---------[-rw-r--r--]install/scsi22
l---------[-rw-r--r--]install/usb21
l---------[-rw-r--r--]install/virtio16
8 files changed, 52 insertions, 138 deletions
diff --git a/install/block b/install/block
new file mode 100644
index 0000000..1f18bfa
--- /dev/null
+++ b/install/block
@@ -0,0 +1,45 @@
+#!/bin/bash
+
+build() {
+ local filter
+ local -A blockdevs
+
+ # pata, sata, scsi
+ for filter in 'scsi/.*ata' '/(block|scsi|fusion)/' 'ata/[ps]ata_' \
+ 'ata/(ahci|pdc_adma|ata_piix|ata_generic)'; do
+ add_checked_modules "$filter" && blockdevs['sd_mod']=1
+ done
+
+ # usb
+ if add_checked_modules -f '(_cs|sl811_hcd|isp116x_hcd)' '/usb/host'; then
+ blockdevs+=(['usb_storage?']=1 ['sd_mod?']=1 ['sr_mod?']=1)
+ add_checked_modules 'drivers/usb/storage/ums-*'
+ fi
+
+ # firewire
+ if add_checked_modules '/drivers/firewire/'; then
+ blockdevs+=(['firewire-sbp2?']=1 ['sd_mod?']=1 ['sr_mod?']=1)
+ fi
+
+ # mmc
+ if add_checked_modules '/mmc'; then
+ blockdevs+=(['tifm_7xx1?']=1 ['mmc_block?']=1)
+ fi
+
+ # virtio
+ if add_checked_modules 'virtio'; then
+ blockdevs['virtio_blk?']=1
+ fi
+
+ map add_module "${!blockdevs[@]}"
+}
+
+help() {
+ cat <<HELPEOF
+This hook loads the necessary modules for most block devices using pata, sata,
+scsi, firewire, usb, or mmc. Detection will take place at runtime. To minimize
+the modules in the image, add the autodetect hook too.
+HELPEOF
+}
+
+# vim: set ft=sh ts=4 sw=4 et:
diff --git a/install/fw b/install/fw
index 98c05ab..ad926c8 100644..120000
--- a/install/fw
+++ b/install/fw
@@ -1,21 +1 @@
-#!/bin/bash
-
-build() {
- local mod
-
- if add_checked_modules '/drivers/firewire/'; then
- for mod in firewire-sbp2 sd_mod sr_mod; do
- add_module "$mod?"
- done
- fi
-}
-
-help() {
- cat <<HELPEOF
-This hook loads the necessary modules for a firewire root device. Detection
-will take place at runtime. To minimize the modules in the image, add the
-autodetect hook too.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
+block \ No newline at end of file
diff --git a/install/mmc b/install/mmc
index 60068df..ad926c8 100644..120000
--- a/install/mmc
+++ b/install/mmc
@@ -1,18 +1 @@
-#!/bin/bash
-
-build() {
- if add_checked_modules '/mmc'; then
- add_module 'tifm_7xx1'
- add_module 'mmc_block'
- fi
-}
-
-help() {
- cat <<HELPEOF
-This hook loads the necessary modules for a mmc root device. Detection will
-take place at runtime. To minimize the modules in the image, add the autodetect
-hook too.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
+block \ No newline at end of file
diff --git a/install/pata b/install/pata
index bcf3809..ad926c8 100644..120000
--- a/install/pata
+++ b/install/pata
@@ -1,21 +1 @@
-#!/bin/bash
-
-build() {
- local filter added
-
- for filter in 'ata/pata_*' 'ata/ata_generic' 'ata/ata_piix'; do
- add_checked_modules "$filter" && (( ++added ))
- done
-
- (( added )) && add_module "sd_mod?"
-}
-
-help() {
- cat <<HELPEOF
-This hook loads the necessary modules for a pata (ide) root device, using the
-new libata subsystem. Detection will take place at runtime. To minimize the
-modules in the image, add the autodetect hook too.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
+block \ No newline at end of file
diff --git a/install/sata b/install/sata
index c6a2ade..ad926c8 100644..120000
--- a/install/sata
+++ b/install/sata
@@ -1,22 +1 @@
-#!/bin/bash
-
-build() {
- local filter added
-
- for filter in 'scsi/.*ata' 'block/sx8' 'ata/sata_*' \
- 'ata/ahci' 'ata/pdc_adma' 'ata/ata_piix'; do
- add_checked_modules "$filter" && (( ++added ))
- done
-
- (( added )) && add_module "sd_mod?"
-}
-
-help() {
- cat <<HELPEOF
-This hook loads the necessary modules for an sata root device. Detection will
-take place at runtime. To minimize the modules in the image, add the autodetect
-hook too.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
+block \ No newline at end of file
diff --git a/install/scsi b/install/scsi
index 7c5a771..ad926c8 100644..120000
--- a/install/scsi
+++ b/install/scsi
@@ -1,21 +1 @@
-#!/bin/bash
-
-build(){
- local filter added
-
- add_checked_modules -f '(imm|ata|pcmcia)' '/scsi/' && (( ++added ))
- add_checked_modules -f '(cciss|cpqarray|DAC960)' '/block/' && (( ++added ))
- add_checked_modules '/fusion/' && (( ++added ))
-
- (( added )) && add_module 'sd_mod?'
-}
-
-help() {
- cat <<HELPEOF
-This hook loads the necessary modules for an scsi root device. Detection will
-take place at runtime. To minimize the modules in the image, add the autodetect
-hook too.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
+block \ No newline at end of file
diff --git a/install/usb b/install/usb
index 2b36c35..ad926c8 100644..120000
--- a/install/usb
+++ b/install/usb
@@ -1,20 +1 @@
-#!/bin/bash
-
-build() {
- if add_checked_modules -f '(_cs|sl811_hcd|isp116x_hcd)' '/usb/host'; then
- add_module 'usb_storage?'
- add_module 'sd_mod?'
- add_module 'sr_mod?'
- add_checked_modules 'drivers/usb/storage/ums-*'
- fi
-}
-
-help() {
- cat <<HELPEOF
-This hook loads the necessary modules for an usb root device. Detection will
-take place at runtime. To minimize the modules in the image, add the autodetect
-hook too.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
+block \ No newline at end of file
diff --git a/install/virtio b/install/virtio
index 10037ab..ad926c8 100644..120000
--- a/install/virtio
+++ b/install/virtio
@@ -1,15 +1 @@
-#!/bin/bash
-
-build() {
- add_checked_modules 'virtio_(blk|pci)'
-}
-
-help() {
- cat <<HELPEOF
-This hook loads the necessary modules for a virtio root device. Detection will
-take place at runtime. To minimize the modules in the image, add the autodetect
-hook too.
-HELPEOF
-}
-
-# vim: set ft=sh ts=4 sw=4 et:
+block \ No newline at end of file