summaryrefslogtreecommitdiffstats
path: root/abs/core/hwdetect
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core/hwdetect')
-rw-r--r--abs/core/hwdetect/PKGBUILD19
-rwxr-xr-xabs/core/hwdetect/hwdetect592
2 files changed, 0 insertions, 611 deletions
diff --git a/abs/core/hwdetect/PKGBUILD b/abs/core/hwdetect/PKGBUILD
deleted file mode 100644
index e386628..0000000
--- a/abs/core/hwdetect/PKGBUILD
+++ /dev/null
@@ -1,19 +0,0 @@
-# $Id: PKGBUILD 86895 2010-08-06 20:29:04Z tpowa $
-# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
-pkgname=hwdetect
-pkgver=2010.08
-pkgrel=1
-pkgdesc="Hardware detection script with loading modules and mkinitcpio.conf / rc.conf support"
-arch=(any)
-license=('GPL')
-depends=('sh' 'awk' 'grep' 'coreutils' 'sed' 'e2fsprogs')
-optdepends=('cryptsetup: for encrypt mkinitcpio config support'
- 'dmraid: for dmraid mkinitcpio config support'
- 'lvm2: for lvm2 mkinitcpio config support'
- 'mdadm: for raid mkinitcpio config support')
-source=(hwdetect)
-
-build() {
- install -D -m 755 ${srcdir}/hwdetect ${pkgdir}/sbin/hwdetect
-}
-md5sums=('cece9e167bb240c82855ffc3f632a5bb')
diff --git a/abs/core/hwdetect/hwdetect b/abs/core/hwdetect/hwdetect
deleted file mode 100755
index 280cafa..0000000
--- a/abs/core/hwdetect/hwdetect
+++ /dev/null
@@ -1,592 +0,0 @@
-#! /bin/sh
-# Autodetection script for scanning /sys for hardware
-# for Archlinux by Tobias Powalowski <tpowa@archlinux.org>
-usage () {
- echo "$0 [options]"
- echo ""
- echo " This is a tool that detects/lists modules that are exported by /sys"
- echo ""
- echo " Options:"
- echo " --kernel_version= use kernel version (no autodetect)"
- echo " --ide-legacy use old ide modules instead of pata"
- echo " --load-modules load all detected modules"
- echo " --unload-modules unload all detected modules"
- echo " --show-modules show all detected modules"
- echo " --show-modules-order shows load order of detected modules"
- echo " --show-agp show AGP modules"
- echo " --show-acpi show ACPI modules"
- echo " --show-ide show IDE modules"
- echo " --show-pata show PATA modules"
- echo " --show-scsi show SCSI modules"
- echo " --show-sata show SATA modules"
- echo " --show-usb show USB modules"
- echo " --show-fw show FIREWIRE modules"
- echo " --show-net show NETWORK modules"
- echo " --show-input show INPUT modules"
- echo " --show-irda show IRDA modules"
- echo " --show-isdn show ISDN modules"
- echo " --show-pcmcia show PCMCIA modules"
- echo " --show-sound show SOUND modules"
- echo " --show-staging show STAGING modules"
- echo " --show-video show VIDEO modules"
- echo " --show-other show OTHER modules"
- echo ""
- echo " For /etc/mkinitcpio.conf use:"
- echo " --filesystem add filesystems to MODULES="
- echo " --hostcontroller show MODULES= for all hostcontrollers"
- echo " --vmware add BusLogic to MODULES for vmware"
- echo " --ati-kms add ati kernel mode setting"
- echo " --intel-kms add intel kernel mode setting"
- echo " --nvidia-kms add nvidia kernel mode setting"
- echo ""
- echo " --rootdevice= autodetected advanced features of rootdevice"
- echo " --hooks-dir= use this directory for HOOKS check"
- echo " --advanced show autodetected advanced HOOKS"
- echo " --hooks show HOOKS="
- echo " --dmraid add dmraid to HOOKS="
- echo " --keymap add keymap to HOOKS="
- echo " --usb add usb to HOOKS="
- echo " --usbinput add usbinput to HOOKS="
- echo " --fw add fw to HOOKS="
- echo " --pcmcia add pcmcia to HOOKS="
- echo " --nfs add net to HOOKS="
- echo " --btrfs add btrfs to HOOKS="
- echo ""
- echo " For /etc/rc.conf use:"
- echo " --net show network MODULES"
- echo " --sound show sound MODULES"
- echo " --usbhost show usb hostcontroller MODULES"
- echo " --modules show all detected MODULES"
- echo ""
- exit 1
-}
-
-[ "$1" = "" ] && usage
-[ "$1" = "--help" ] && usage
-[ "$1" = "-h" ] && usage
-
-# setting kernel version
-case $1 in
- --kernel_version=*)
- KERNEL_VERSION="$(echo $1 | awk -F= '{print $2;}')"
- ;;
- --rootdevice=*)
- ROOTDEVICE="$(echo $1 | awk -F= '{print $2;}')"
- ;;
-esac
-
-if [ "$KERNEL_VERSION" = "" ]; then
- KERNEL_VERSION="$(uname -r)"
-fi
-
-# IDE/PATA switch
-[ "$(echo $* | grep '\-ide-legacy')" ] && IDE_LEGACY=1
-
-# uvesafb switch
-[ "$(echo $* | grep '\-uvesafb')" ] && UVESAFB=1
-
-# dmraid switch
-[ "$(echo $* | grep '\-dmraid')" ] && DMRAID=1
-
-# keymap switch
-[ "$(echo $* | grep '\-keymap')" ] && KEYMAP=1
-
-# usb switch
-[ "$(echo $* | grep '\-usb ')" ] && USB=1
-
-# usbinput switch
-[ "$(echo $* | grep '\-usbinput')" ] && USBINPUT=1
-
-# fw switch
-[ "$(echo $* | grep '\-fw')" ] && FW=1
-
-# pcmcia switch
-[ "$(echo $* | grep '\-pcmcia')" ] && PCMCIA=1
-
-# nfs switch
-[ "$(echo $* | grep '\-nfs')" ] && NFS=1
-
-# nfs switch
-[ "$(echo $* | grep '\-btrfs')" ] && BTRFS=1
-
-# vmware switch
-[ "$(echo $* | grep '\-vmware')" ] && VMWARE=1
-
-# vmware switch
-[ "$(echo $* | grep '\-hooks')" ] && HOOKS=1
-
-ADVANCED=""
-# root device check
-if ! [ "$ROOTDEVICE" = "" ]; then
- # check device mapper devices
- if [ "$(echo "$ROOTDEVICE" | grep "/dev/mapper")" ]; then
- # check if encryption is used
- if [ "$(cryptsetup status $ROOTDEVICE 2>/dev/null)" ]; then
- ADVANCED="encrypt"
- # check on lvm
- realdevice="$(cryptsetup status $ROOTDEVICE 2>/dev/null | grep "device:.*/dev/mapper/" | sed -e 's#.*\ ##g')"
- if [ "$(lvs $realdevice 2>/dev/null)" ]; then
- ADVANCED="lvm2 encrypt"
- vg="$(echo $(lvs -o vg_name --noheading $realdevice))"
- # check on raid
- [ "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/md")" ] && ADVANCED="mdadm lvm2 encrypt"
- fi
- # check on raid
- if [ "$(cryptsetup status $ROOTDEVICE 2>/dev/null | grep "device:.*/dev/md" | sed -e 's#.*\ ##g')" ]; then
- ADVANCED="mdadm encrypt"
- realdevice="$(cryptsetup status $ROOTDEVICE 2>/dev/null | grep "device:.*/dev/md" | sed -e 's#.*\ ##g')"
- # check on lvm
- [ "$(mdadm --detail $realdevice | grep "/dev/dm-")" ] && ADVANCED="lvm2 mdadm encrypt"
- fi
- fi
- # check if lvm is used
- if [ "$(lvs $ROOTDEVICE 2>/dev/null)" ]; then
- ADVANCED="lvm2"
- vg="$(echo $(lvs -o vg_name --noheading $ROOTDEVICE))"
- # check on encrypt
- if [ "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/dm-")" ]; then
- ADVANCED="encrypt lvm2"
- # check on raid
- [ "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/md")" ] && ADVANCED="mdadm encrypt lvm2"
- for i in "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/dm-")"; do
- realdevice="$(echo $i | cut -d ' ' -f1)"
- #getsymlink="$(readlink $realdevice)"
- #correctdevice="$(echo $getsymlink | sed -e 's#\.\.#/dev#g')"
- [ "$(cryptsetup status $realdevice 2>/dev/null | grep "device:.*/dev/md")" ] && ADVANCED="mdadm encrypt lvm2"
- done
- fi
- # check on raid
- if [ "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/md")" ]; then
- ADVANCED="mdadm lvm2"
- #check on encrypt
- [ "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/dm-")" ] && ADVANCED="encrypt mdadm lvm2"
- for i in "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/md")"; do
- realdevice="$(echo $i | cut -d ' ' -f1)"
- [ "$(mdadm --detail $realdevice | grep "/dev/dm-")" ] && ADVANCED="encrypt mdadm lvm2"
- done
- fi
- fi
- fi
- # check md device
- if [ "$(echo "$ROOTDEVICE" | grep "/dev/md")" ]; then
- ADVANCED="mdadm"
- # raid partitions or raid?
- if [ "$(echo "$ROOTDEVICE" | grep "/dev/md*p")" ]; then
- realdevice="$(echo $ROOTDEVICE | sed -e 's#p.*##g' -e 's#/dev/##g')"
- if ! [ "$(find /sys/block/$realdevice/slaves/ -name 'dm*' 2>/dev/null)" = "" ]; then
- SET_LVM=""
- SET_ENCRYPT=""
- for k in $(find /sys/block/$realdevice/slaves/ -name 'dm*' 2>/dev/null); do
- [ "$(lvs /dev/mapper/$(cat $k/dm/name) 2>/dev/null)" ] && SET_LVM="1"
- [ "$(cryptsetup status $(cat $k/dm/name) 2>/dev/null)" ] && SET_ENCRYPT="1"
- # check on lvm
- [ "$(lvs /dev/mapper/$(cat $k/dm/name) 2>/dev/null)" ] && ADVANCED="lvm2 mdadm"
- # check on encrypt
- [ "$(cryptsetup status $(cat $k/dm/name) 2>/dev/null)" ] && ADVANCED="encrypt mdadm"
- # check encrypted volume device
- realdevice="$(cryptsetup status $(cat $k/dm/name) 2>/dev/null | grep "device:.*/dev/mapper/" | sed -e 's#.*\ ##g')"
- [ "$(lvs $realdevice 2>/dev/null)" ] && ADVANCED="lvm2 encrypt mdadm"
- vg="$(echo $(lvs -o vg_name --noheading /dev/mapper/$(cat $k/dm/name) 2>/dev/null))"
- [ "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/dm-")" ] && ADVANCED="encrypt lvm2 mdadm"
- done
- [ "$SET_LVM" = "1" -a "$SET_ENCRYPT" = "1" ] && ADVANCED="lvm2 encrypt mdadm"
- fi
- else
- realdevice="$(echo $ROOTDEVICE | sed -e 's#/dev/##g')"
- if ! [ "$(find /sys/block/$realdevice/slaves/ -name 'dm*' 2>/dev/null)" = "" ]; then
- SET_LVM=""
- SET_ENCRYPT=""
- for k in $(find /sys/block/$realdevice/slaves/ -name 'dm*' 2>/dev/null); do
- [ "$(lvs /dev/mapper/$(cat $k/dm/name) 2>/dev/null)" ] && SET_LVM="1"
- [ "$(cryptsetup status $(cat $k/dm/name) 2>/dev/null)" ] && SET_ENCRYPT="1"
- # check on lvm
- [ "$(lvs /dev/mapper/$(cat $k/dm/name) 2>/dev/null)" ] && ADVANCED="lvm2 mdadm"
- # check on encrypt
- [ "$(cryptsetup status $(cat $k/dm/name) 2>/dev/null)" ] && ADVANCED="encrypt mdadm"
- # check encrypted volume device
- realdevice="$(cryptsetup status $(cat $k/dm/name) 2>/dev/null | grep "device:.*/dev/mapper/" | sed -e 's#.*\ ##g')"
- [ "$(lvs $realdevice 2>/dev/null)" ] && ADVANCED="lvm2 encrypt mdadm"
- vg="$(echo $(lvs -o vg_name --noheading /dev/mapper/$(cat $k/dm/name) 2>/dev/null))"
- [ "$(pvs -o pv_name,vg_name --noheading | grep "$vg$" | grep "/dev/dm-")" ] && ADVANCED="encrypt lvm2 mdadm"
- done
- [ "$SET_LVM" = "1" -a "$SET_ENCRYPT" = "1" ] && ADVANCED="lvm2 encrypt mdadm"
- fi
- fi
- fi
-fi
-
-# checking /sys
-if ! [ -d /sys/ ]; then
- echo "/sys/ is not present -- mount /sys first" >&2
- exit 1
-fi
-
-: >/tmp/modules-plain
-: >/tmp/modules-stripped
-: >/tmp/modules-sorted
-: >/tmp/moduleslist
-: >/tmp/.blkid
-
-# generate blkid
-/sbin/blkid -c /dev/null -s TYPE > /tmp/.blkid
-
-# find pci aliases
-aliases=$(find /sys/ -noleaf -name modalias -exec cat {} +)
-
-# check for empty aliases
-if [ "$aliases" = "" ]; then
- echo "hwdetect aborted -- you need a kernel >= 2.6.12" >&2
- exit 1
-fi
-
-# generate files for the different actions
-modprobe -i -a --set-version=$KERNEL_VERSION --show-depends $aliases >> /tmp/modules-plain 2>/dev/null
-
-# fix ide cdrom detection on proliant 1600
-if [ "$(echo $aliases | grep 'pci:v00000E11d00000001sv00000000sd00000000bc06sc02i00')" ]; then
- modprobe -i --set-version=$KERNEL_VERSION --show-depends ide-generic >> /tmp/modules-plain 2>/dev/null
-fi
-
-# find PNP devices like parports, soundcards etc.
-# (workaround for rtc, pcspkr, irtty-sir and analog are included)
-if [ "$(find /sys/devices -noleaf -name 'id' | grep /pnp)" ]; then
- for i in $(find /sys/devices -noleaf -name "id" | grep /pnp); do
- devid=$(cat $i | grep PNP)
- [ "$devid" ] || continue
-
- modprobe -i --set-version=$KERNEL_VERSION --show-depends pnp:d${devid} >> /tmp/modules-plain 2>/dev/null
-
- [ "$devid" = "PNP0800" ] && modprobe -i --set-version=$KERNEL_VERSION --show-depends pcspkr >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNP0b00" ] && modprobe -i --set-version=$KERNEL_VERSION --show-depends rtc_proc >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNP0b00" ] && modprobe -i --set-version=$KERNEL_VERSION --show-depends rtc_sysfs >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNP0b00" ] && modprobe -i --set-version=$KERNEL_VERSION --show-depends rtc_dev >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNP0510" ] && modprobe -i --set-version=$KERNEL_VERSION --show-depends irtty-sir >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNP0511" ] && modprobe -i --set-version=$KERNEL_VERSION --show-depends irtty-sir >> /tmp/modules-plain 2>/dev/null
- [ "$devid" = "PNPb02f" ] && modprobe -i --set-version=$KERNEL_VERSION --show-depends analog >> /tmp/modules-plain 2>/dev/null
-
- # load ppp-generic if serial ports are detected for modems
- [ "$devid" = "PNP0501" ] && modprobe -i --set-version=$KERNEL_VERSION --show-depends ppp-generic >> /tmp/modules-plain 2>/dev/null
- done
-fi
-
-# SCSI disks/cdroms/tapes/generic devices
-if [ "$(find /sys/devices -noleaf -name 'type')" ]; then
- for i in $(cat $(find /sys/devices -noleaf -name "type")); do
- case $i in (4|5) modprobe -i --set-version=$KERNEL_VERSION --show-depends sr_mod >> /tmp/modules-plain 2>/dev/null ;; esac
- case $i in (2|3|6|8|9) modprobe -i --set-version=$KERNEL_VERSION --show-depends sg >> /tmp/modules-plain 2>/dev/null ;; esac
- case $i in (0|7|14) modprobe -i --set-version=$KERNEL_VERSION --show-depends sd_mod >> /tmp/modules-plain 2>/dev/null ;; esac
- case $i in (1) modprobe -i --set-version=$KERNEL_VERSION --show-depends st >> /tmp/modules-plain 2>/dev/null ;; esac
- done
-fi
-
-# add Buslogic for vmware
-if [ "$VMWARE" = "1" ]; then
- modprobe -i --set-version=$KERNEL_VERSION --show-depends BusLogic >> /tmp/modules-plain 2>/dev/null
-fi
-
-# Parport modules
-if [ "$(grep 'parport' /tmp/modules-plain)" ]; then
- modprobe -i --set-version=$KERNEL_VERSION --show-depends lp >> /tmp/modules-plain 2>/dev/null
- modprobe -i --set-version=$KERNEL_VERSION --show-depends ppdev >> /tmp/modules-plain 2>/dev/null
-fi
-
-# Sound OSS compat modules
-if [ "$(grep 'snd-pcm' /tmp/modules-plain)" ]; then
- modprobe -i --set-version=$KERNEL_VERSION --show-depends snd-pcm-oss >> /tmp/modules-plain 2>/dev/null
-fi
-if [ "$(grep 'snd-seq' /tmp/modules-plain)" ]; then
- modprobe -i --set-version=$KERNEL_VERSION --show-depends snd-seq-oss >> /tmp/modules-plain 2>/dev/null
-fi
-
-sort -u /tmp/modules-plain >> /tmp/modules-stripped
-
-# OTHER modules loading first for speed up!
-grep -v "ide/" /tmp/modules-stripped | grep -v "scsi/" | grep -v "fusion/" | grep -v "block/sx8" | grep -v "message/fusion" | \
- grep -v "block/cciss" | grep -v "block/cpqarray" | grep -v "block/DAC960" | grep -v "block/virtio" | grep -v "ata/" | \
- grep -v "net/" | grep -v "pcmcia/" | grep -v "usb/" | \
- grep -v "firewire" | grep -v "ieee1394/" | grep -v "usbhid/" | grep -v "staging/" | grep -v "wireless/" | grep -v "virtio_pci" >> /tmp/modules-sorted
-# load virtio first!
-grep "virtio_pci" /tmp/modules-stripped >> /tmp/modules-sorted
-# make a correct order for the modules, internal devices have priority!
-# only use old ide modules if boot parameter 'ide-legacy' is given
-if [ "$IDE_LEGACY" = "1" ]; then
- grep "ide/" /tmp/modules-stripped | grep -v "ide-pci-generic" >> /tmp/modules-sorted
-else
- grep "ata/pata" /tmp/modules-stripped | grep -v "pata_acpi" >> /tmp/modules-sorted
-fi
-grep "scsi/" /tmp/modules-stripped | grep -v "sd_mod" | grep -v "sr_mod" | grep -v "/sg.ko" | grep -v "/st.ko" >> /tmp/modules-sorted
-grep "block/" /tmp/modules-stripped | grep -v "virtio_blk" | grep -v "sx8" | grep -v "nbd" | grep -v "pktcdvd" | grep -v "floppy" >> /tmp/modules-sorted
-grep "fusion/" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "ata/" /tmp/modules-stripped| grep -v "pata" | grep -v "ata_generic" | grep -v "libata" >> /tmp/modules-sorted
-grep "block/" /tmp/modules-stripped | grep "sx8" >> /tmp/modules-sorted
-grep "net/" /tmp/modules-stripped | grep -v "wireless/" | grep -v "usb/" >> /tmp/modules-sorted
-grep "wireless/" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "staging/" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "pcmcia/" /tmp/modules-stripped >> /tmp/modules-sorted
-
-# speed up usb module loading
-grep "usb-storage" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "usblp" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "usbhid" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "usb/" /tmp/modules-stripped | grep -v "usb-storage" | grep -v "usbhid" | grep -v "usblp" >> /tmp/modules-sorted
-grep "firewire/" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "ieee1394/" /tmp/modules-stripped >> /tmp/modules-sorted
-
-# add scsi and virtio device modules at the end
-grep "virtio_blk" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "sd_mod" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "sr_mod" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "/st.ko" /tmp/modules-stripped >> /tmp/modules-sorted
-grep "/sg.ko" /tmp/modules-stripped >> /tmp/modules-sorted
-
-
-sed -ne "s#^insmod.*/\(.*\)\.ko.*#\1#p" /tmp/modules-sorted >> /tmp/moduleslist
-
-listmods() {
- key=$1 ; shift
- ex=
- while [ "$1" ]; do
- [ "$ex" ] && ex="$ex|$1" || ex="$1"
- shift
- done
- for ln in $(grep "$key" /tmp/modules-sorted | sed 's|^insmod ||g'); do
- if [ "$ex" ]; then
- echo $ln | egrep -v "$ex" | sed -ne "s#^/.*/\(.*\)\.ko.*#\1#p"
- else
- echo $ln | sed -ne "s#^/.*/\(.*\)\.ko.*#\1#p"
- fi
- done
-}
-showlist() {
- cat=$1 ; shift
- [ $# -gt 0 ] || return
- echo -n "$cat: "
- for i in $*; do echo -n "$i "; done
- echo ""
-}
-
-showlist2() {
- cat=$1 ; shift
- [ $# -gt 0 ] || return
- echo -n "$cat="
- for i in $*; do echo -n "$i "; done
- echo ""
-}
-
-showlist3() {
- cat=$1 ; shift
- [ $# -gt 0 ] || return
- for i in $*; do echo -n "$i "; done
- echo ""
-}
-
-# starting different actions
-while [ $# -gt 0 ]; do
- case $1 in
- -hooks-dir=*|--hooks-dir=*)
- HOOKS_DIR="$(echo $1 | awk -F= '{print $2;}')"
- ;;
- --load-modules)
- # load all detected pci modules
- for i in $(cat /tmp/moduleslist); do
- if [ -e /lib/udev/load-modules.sh ]; then
- /lib/udev/load-modules.sh $i > /dev/null 2>&1
- else
- modprobe $i > /dev/null 2>&1
- fi
- done
- ;;
-
- --unload-modules)
- # load all detected pci modules
- for i in $(cat /tmp/moduleslist); do
- modprobe -r $i > /dev/null 2>&1
- done
- ;;
-
- --show-modules)
- showlist "AGP " $(listmods agp/)
- showlist "ACPI " $(listmods acpi/)
- showlist "IDE " $(listmods ide/ ide-)
- showlist "PATA " $(listmods ata/pata pata_acpi) $(listmods ata/ata_piix)
- showlist "SCSI " $(listmods virtio/virtio_pci) $(listmods scsi/) $(listmods message/fusion/) $(listmods drivers/block/ nbd pktcdvd sx8 floppy)
- showlist "SATA " $(listmods ata/ pata ata_generic) $(listmods drivers/block/sx8)
- showlist "USB " $(listmods usb/ usb/input)
- showlist "FW " $(listmods firewire/) $(listmods ieee1394/)
- showlist "NET " $(listmods net/ irda/)
- showlist "INPUT " $(listmods input/ pcspkr) $(listmods hid/)
- showlist "IRDA " $(listmods irda/)
- showlist "ISDN " $(listmods isdn/)
- showlist "PCMCIA " $(listmods pcmcia/)
- showlist "SOUND " $(listmods pcspkr) $(listmods sound/)
- showlist "STAGING" $(listmods staging/)
- showlist "VIDEO " $(listmods video/)
- showlist "OTHER " $(listmods modules/ agp/ acpi/ ide/ scsi/ message/fusion block/sx8 block/cciss block/cpqarray block/DAC960 block/virtio virtio/virtio_pci ata/ usb/ ieee1394 net/ isdn/ input/ irda/ pcmcia/ sound/ video/ firewire/ hid/ staging/)
- ;;
-
- --show-modules-order)
- showlist "MODULES ORDER" $(listmods modules/)
- ;;
-
- --show-agp) showlist "AGP " $(listmods agp/) ;;
- --show-acpi) showlist "ACPI " $(listmods acpi/) ;;
- --show-ide) showlist "IDE " $(listmods ide/ ide-) ;;
- --show-pata) showlist "PATA " $(listmods ata/pata pata_acpi) $(listmods ata/ata_piix) ;;
- --show-scsi) showlist "SCSI " $(listmods virtio/virtio_pci) $(listmods scsi/) $(listmods message/fusion/) $(listmods drivers/block/ nbd pktcdvd sx8 floppy) ;;
- --show-sata) showlist "SATA " $(listmods ata/ pata ata_generic) $(listmods drivers/block/sx8) ;;
- --show-usb) showlist "USB " $(listmods usb/ usb/input) ;;
- --show-fw) showlist "FW " $(listmods firewire/) $(listmods ieee1394/) ;;
- --show-net) showlist "NET " $(listmods net/ irda/) ;;
- --show-input) showlist "INPUT " $(listmods input/ pcspkr) $(listmods hid/) ;;
- --show-irda) showlist "IRDA " $(listmods irda/) ;;
- --show-isdn) showlist "ISDN " $(listmods isdn/) ;;
- --show-pcmcia) showlist "PCMCIA " $(listmods pcmcia/) ;;
- --show-sound) showlist "SOUND " $(listmods pcspkr) $(listmods sound/) ;;
- --show-staging) showlist "STAGING" $(listmods staging/) ;;
- --show-video) showlist "VIDEO " $(listmods video/) ;;
- --show-other) showlist "OTHER " $(listmods .ko agp/ acpi/ ide/ scsi/ message/fusion block/sx8 block/cciss block/cpqarray block/DAC960 block/virtio virtio/virtio_pci ata/ usb/ ieee1394 net/ isdn/ input/ irda/ pcmcia/ sound/ video/ firewire/ hid/ staging/) ;;
- --filesystem) FILESYSTEM="ext2 ext3 ext4 nilfs2 btrfs reiserfs xfs jfs vfat"
- for i in $FILESYSTEM; do
- [ "$(grep $i /tmp/.blkid)" ] && FS="$FS $i"
- done
- [ "$(echo $FS | grep btrfs)" ] && FS="$FS crc32c"
- MODULES_INITRAMFS="$MODULES_INITRAMFS $FS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
- ;;
- --hostcontroller)HOSTCONTROLLER="$(listmods virtio/virtio_pci) $(listmods ide/ ide-) $(listmods ata/pata pata_acpi) $(listmods scsi/ /sg.ko /st.ko scsi_mod sr_mod sd_mod) $(listmods message/fusion/) $(listmods drivers/block/ virtio_blk nbd pktcdvd sx8 floppy) $(listmods ata/ pata ata_generic) $(listmods drivers/block/sx8) $(listmods ehci-hcd) $(listmods uhci-hcd) $(listmods ohci-hcd) $(listmods virtio_blk)"
- MODULES_INITRAMFS="$MODULES_INITRAMFS $HOSTCONTROLLER"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
- ;;
- --ati-kms) KMS="radeon"
- MODULES_INITRAMFS="$KMS $MODULES_INITRAMFS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
- ;;
- --intel-kms) KMS="i915"
- MODULES_INITRAMFS="$KMS $MODULES_INITRAMFS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
- ;;
- --nvidia-kms) KMS="nouveau"
- MODULES_INITRAMFS="$KMS $MODULES_INITRAMFS"
- showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
- ;;
- --uvesafb) FB="uvesafb"
- MODULES_INITRAMFS="$FB $MODULES_INITRAMFS"
- ! [ "$HOOKS" = "1" ] && showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
- ;;
- --fbmodule) FB=""
- for i in $(cat /etc/modprobe.d/framebuffer_blacklist.conf); do
- i=$(echo $i | sed -e 's/blacklist //g')
- # check if already in FB array, to avoid double entries
- if [ "$(cat /proc/modules | grep ^$i)" ]; then
- ! [ "$(grep -w $FB)" ] && FB="$i"
- fi
- done
- MODULES_INITRAMFS="$FB $MODULES_INITRAMFS "
- ! [ "$HOOKS" = "1" ] && showlist2 "MODULES" \"$MODULES_INITRAMFS\" | sed -e 's/(\ /(/g' -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
- ;;
- --net) if [ "$(showlist2 "MODULES" \($(listmods drivers/net/ irda ppp_generic slhc) $(listmods drivers/usb/net/) $(listmods drivers/staging/) \) | sed -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g' | grep '8139cp')" ] ; then
- if [ "$(dmesg | grep 'use 8139too')" ]; then
- MODULES_EXPORTED="$MODULES_EXPORTED $(listmods drivers/net/ irda ppp_generic slhc) $(listmods drivers/usb/net/) $(listmods drivers/staging/)"
- MODULES_EXPORTED="$(echo $MODULES_EXPORTED | sed -e 's/8139cp//g')"
- BLACKLIST_UDEV="!8139cp"
- for i in $MODULES_EXPORTED; do
- BLACKLIST_UDEV="$BLACKLIST_UDEV !$i"
- done
- showlist2 "MODULES" \($BLACKLIST_UDEV $MODULES_EXPORTED\) | sed -e 's/(\ /(/g' -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g'
- else
- MODULES_EXPORTED="$MODULES_EXPORTED $(listmods drivers/net/ irda ppp_generic slhc) $(listmods drivers/usb/net/) $(listmods drivers/staging/)"
- MODULES_EXPORTED="$(echo $MODULES_EXPORTED | sed -e 's/8139too//g')"
- BLACKLIST_UDEV="!8139too"
- for i in $MODULES_EXPORTED; do
- BLACKLIST_UDEV="$BLACKLIST_UDEV !$i"
- done
- showlist2 "MODULES" \($BLACKLIST_UDEV $MODULES_EXPORTED\) | sed -e 's/(\ /(/g' -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g'
- fi
- else
- MODULES_EXPORTED="$MODULES_EXPORTED $(listmods drivers/net/ irda ppp_generic slhc) $(listmods drivers/usb/net/) $(listmods drivers/staging/)"
- BLACKLIST_UDEV=""
- for i in $MODULES_EXPORTED; do
- BLACKLIST_UDEV="$BLACKLIST_UDEV !$i"
- done
- showlist2 "MODULES" \($BLACKLIST_UDEV $MODULES_EXPORTED\) | sed -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g'
- fi
- ;;
- --sound) MODULES_EXPORTED="$MODULES_EXPORTED $(listmods pcspkr) $(listmods sound/)"
- BLACKLIST_UDEV=""
- for i in $MODULES_EXPORTED; do
- BLACKLIST_UDEV="$BLACKLIST_UDEV !$i"
- done
- showlist2 "MODULES" \($BLACKLIST_UDEV $MODULES_EXPORTED\) | sed -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g'
- ;;
- --usbhost) MODULES_EXPORTED="$MODULES_EXPORTED $(listmods ehci-hcd) $(listmods uhci-hcd) $(listmods ohci-hcd)"
- BLACKLIST_UDEV=""
- for i in $MODULES_EXPORTED; do
- BLACKLIST_UDEV="$BLACKLIST_UDEV !$i"
- done
- showlist2 "MODULES" \($BLACKLIST_UDEV $MODULES_EXPORTED\) | sed -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g'
- ;;
- --modules) showlist2 "MODULES" \($(listmods modules/)\) | sed -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g'
- ;;
- --hooks)
- if [ "$HOOKS_DIR" = "" ]; then
- HOOKS_DIR="/lib/initcpio/install"
- fi
- START_HOOKS="base v86d udev keymap autodetect ide pata scsi sata usb fw pcmcia net dmraid usbinput $ADVANCED btrfs filesystems"
- # remove the ones that don't exist on the system
- for i in ${START_HOOKS}; do
- if ! [ -e "${HOOKS_DIR}/$i" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/${i}\ //g")
- fi
- done
- # ide/pata check
- if [ "${IDE_LEGACY}" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/pata//g")
- else
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/ide//g")
- fi
- if ! [ "$USBINPUT" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/usbinput//g")
- fi
- if ! [ "$KEYMAP" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/keymap//g")
- fi
- if ! [ "$UVESAFB" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/v86d//g")
- fi
- if ! [ "$DMRAID" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/dmraid//g")
- fi
- if ! [ "$USB" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/usb\ //g")
- fi
- if ! [ "$FW" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/fw//g")
- fi
- if ! [ "$PCMCIA" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/pcmcia//g")
- fi
- if ! [ "$NFS" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/net//g")
- fi
- if ! [ "$BTRFS" = "1" ]; then
- START_HOOKS=$(echo $START_HOOKS | sed -e "s/btrfs//g")
- fi
- echo "HOOKS=\"$START_HOOKS\"" | sed -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g'
- ;;
- --advanced) ADVANCED_ARCHBOOT=""
- for i in $ADVANCED; do
- ADVANCED_ARCHBOOT="$ADVANCED_ARCHBOOT $(echo arch_$i)"
- done
- echo "$ADVANCED_ARCHBOOT"
- ;;
- esac
- shift
-done
-
-# cleanup
-rm /tmp/modules-plain
-rm /tmp/modules-sorted
-rm /tmp/modules-stripped
-rm /tmp/moduleslist
-
-# vim: set ts=2 sw=2 noet: