From e064575e7842d55371db39991593f3ea0bf03b9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thomas=20B=C3=A4chler?= Date: Sun, 21 Oct 2007 10:15:47 +0200 Subject: Remove hwdetect as it is maintained as a separate package and this version isn't up to date anyway. --- hwdetect | 432 --------------------------------------------------------------- 1 file changed, 432 deletions(-) delete mode 100755 hwdetect diff --git a/hwdetect b/hwdetect deleted file mode 100755 index 16044fa..0000000 --- a/hwdetect +++ /dev/null @@ -1,432 +0,0 @@ -#! /bin/sh -# Autodetection script for scanning /sys for hardware -# for Archlinux by Tobias Powalowski -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-ide show IDE 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-video show VIDEO modules" - echo " --show-other show OTHER modules" - echo "" - echo " For /etc/mkinitcpio.conf use:" - echo " --hostcontroller show MODULES= for all hostcontrollers" - echo " --vmware add BusLogic to MODULES for vmware" - echo "" - echo " --hooks show HOOKS=" - echo " --raid add raid to HOOKS=" - echo " --encrypt add encrypt to HOOKS=" - echo " --lvm2 add lvm2 to HOOKS=" - echo " --keymap add keymap to HOOKS=" - echo " --usb add usb to HOOKS=" - echo " --fw add fw to HOOKS=" - echo " --pcmcia add pcmcia to HOOKS=" - echo " --nfs add net to HOOKS=" - echo "" - echo " For /etc/rc.conf use:" - echo " --net show network 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;}'`" - ;; -esac - -if [ "$KERNEL_VERSION" == "" ]; then - KERNEL_VERSION="`uname -r`" -fi - -# IDE/PATA switch -[ "$(echo $* | grep '\-ide-legacy')" ] && IDE_LEGACY=1 - -# raid switch -[ "$(echo $* | grep '\-raid')" ] && RAID=1 - -# encrypt switch -[ "$(echo $* | grep '\-encrypt')" ] && ENCRYPT=1 - -# lvm2 switch -[ "$(echo $* | grep '\-lvm2')" ] && LVM2=1 - -# keymap switch -[ "$(echo $* | grep '\-keymap')" ] && KEYMAP=1 - -# usb switch -[ "$(echo $* | grep '\-usb')" ] && USB=1 - -# fw switch -[ "$(echo $* | grep '\-fw')" ] && FW=1 - -# pcmcia switch -[ "$(echo $* | grep '\-pcmcia')" ] && PCMCIA=1 - -# nfs switch -[ "$(echo $* | grep '\-nfs')" ] && NFS=1 - -# vmware switch -[ "$(echo $* | grep '\-vmware')" ] && VMWARE=1 - -# 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 - -# 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 -a --set-version=$KERNEL_VERSION --show-depends $aliases >> /tmp/modules-plain 2>/dev/null - -# fix evdev detection -#if [ "`echo $aliases | grep 'serio:ty06pr*[id]*[ex]*'`" ]; then -# modprobe -i --set-version=$KERNEL_VERSION --show-depends evdev >> /tmp/modules-plain 2>/dev/null -#fi -# fix Intel536ep detection -#if [ "`echo $aliases | grep 'pci:v00008086d00001040sv000016BEsd00001040bc07sc80i00'`" ]; then -# modprobe -i --set-version=$KERNEL_VERSION --show-depends Intel536 >> /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 >> /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 - -# IDE disks/cdroms/floppy/tape -#if [ "`find /proc/ide -noleaf -name 'media'`" ]; then -# for i in $(cat `find /proc/ide -noleaf -name "media"`); do -# case $i in -# cdrom) modprobe -i --set-version=$KERNEL_VERSION --show-depends ide-cd >> /tmp/modules-plain 2>/dev/null ;; -# floppy) modprobe -i --set-version=$KERNEL_VERSION --show-depends ide-floppy >> /tmp/modules-plain 2>/dev/null ;; -# disk) modprobe -i --set-version=$KERNEL_VERSION --show-depends ide-disk >> /tmp/modules-plain 2>/dev/null ;; -# tape) modprobe -i --set-version=$KERNEL_VERSION --show-depends ide-tape >> /tmp/modules-plain 2>/dev/null ;; -# esac -# 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 - -# Firewire disks/cdroms/network -#if [ "`grep 'ohci1394' /tmp/modules-plain`" ]; then -# modprobe -i --set-version=$KERNEL_VERSION --show-depends sbp2 >> /tmp/modules-plain 2>/dev/null -# modprobe -i --set-version=$KERNEL_VERSION --show-depends eth1394 >> /tmp/modules-plain 2>/dev/null -#fi - -# Modem devices -#case $i in (Intel536|Intel537|ltmodem|ltserial|slamr|slusb) \ -# grep "$i" /tmp/modules-plain && modprobe -i --set-version=$KERNEL_VERSION --show-depends ppp-generic >> /tmp/modules-plain 2>/dev/null ;; \ -# esac - -# 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 - -# USB modules -#if [ "`grep 'usb/' /tmp/modules-plain`" ]; then -# modprobe -i --set-version=$KERNEL_VERSION --show-depends usbhid >> /tmp/modules-plain 2>/dev/null -# modprobe -i --set-version=$KERNEL_VERSION --show-depends usb-storage >> /tmp/modules-plain 2>/dev/null -# modprobe -i --set-version=$KERNEL_VERSION --show-depends usblp >> /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 "ata/" | \ - grep -v "net/" | grep -v "pcmcia/" | grep -v "usb/" | \ - grep -v "ieee1394/" >> /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 >> /tmp/modules-sorted -else - grep "ata/pata" /tmp/modules-stripped >> /tmp/modules-sorted - grep "ata/ata_generic" /tmp/modules-stripped >> /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 "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 "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 "ieee1394/" /tmp/modules-stripped >> /tmp/modules-sorted - -# add scsi device modules at the end -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 - -# delete modules that are blacklisted -BLACKLIST="${BLACKLIST} $(echo ${disablemodules} | sed 's|-|_|g' | sed 's|,| |g')" -for i in $BLACKLIST; do - [ "$i" ] || continue - sed -i -e "/^$i$/d" /tmp/moduleslist - # since '-' and '_' are interchangeable, we have to cover both - if [ "`echo $i | grep '-'`" ]; then - i="`echo $i | sed 's|-|_|g'`" - sed -i -e "/^$i$/d" /tmp/moduleslist - elif [ "`echo $i | grep '_'`" ]; then - i="`echo $i | sed 's|_|-|g'`" - sed -i -e "/^$i$/d" /tmp/moduleslist - fi -done - -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 - --load-modules) - # load all detected pci modules - for i in `cat /tmp/moduleslist`; do - modprobe $i > /dev/null 2>&1 - 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 "IDE " `listmods ide/` - showlist "PATA " `listmods ata/pata` `listmods ata/ata_generic` - showlist "SCSI " `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 ieee1394/` - showlist "NET " `listmods net/ irda/` - showlist "INPUT " `listmods input/` - showlist "IRDA " `listmods irda/` - showlist "ISDN " `listmods isdn/` - showlist "PCMCIA " `listmods pcmcia/` - showlist "SOUND " `listmods sound/` - showlist "VIDEO " `listmods video/` - showlist "OTHER " `listmods modules/ agp/ ide/ scsi/ message/fusion block/sx8 block/cciss block/cpqarray block/DAC960 ata/ usb/ ieee1394 net/ isdn/ input/ irda/ pcmcia/ sound/ video/ ` - ;; - - --show-modules-order) - showlist "MODULES ORDER" `listmods modules/` - ;; - - --show-agp) showlist "AGP " `listmods agp/` ;; - --show-ide) showlist "IDE " `listmods ide/` ;; - --show-pata) showlist "PATA " `listmods ata/pata` `listmods ata/ata_generic`;; - --show-scsi) showlist "SCSI " `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 ieee1394/` ;; - --show-net) showlist "NET " `listmods net/ irda/` ;; - --show-input) showlist "INPUT " `listmods input/` ;; - --show-irda) showlist "IRDA " `listmods irda/` ;; - --show-isdn) showlist "ISDN " `listmods isdn/` ;; - --show-pcmcia) showlist "PCMCIA " `listmods pcmcia/` ;; - --show-sound) showlist "SOUND " `listmods sound/` ;; - --show-video) showlist "VIDEO " `listmods video/` ;; - --show-other) showlist "OTHER " `listmods .ko agp/ ide/ scsi/ message/fusion block/sx8 block/cciss block/cpqarray block/DAC960 ata/ usb/ ieee1394 net/ isdn/ input/ irda/ pcmcia/ sound/ video` ;; - --hostcontroller) showlist2 "MODULES" \"`listmods ide/pci` `listmods ata/pata` `listmods ata/ata_generic` `listmods scsi/ /sg.ko /st.ko sr_mod sd_mod` `listmods message/fusion/` `listmods drivers/block/ nbd pktcdvd sx8 floppy` `listmods ata/ pata ata_generic` `listmods drivers/block/sx8`\" | sed -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g' - ;; - --net) if [ "$(showlist2 "MODULES" \(`listmods drivers/net/ irda ppp_generic slhc` `listmods drivers/usb/net/`\) | sed -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g' | grep '8139cp')" ] ; then - if [ "$(dmesg | grep '"8139too"')" ]; then - showlist2 "MODULES" \(`listmods drivers/net/ irda ppp_generic slhc` `listmods drivers/usb/net/`\) | sed -e 's/8139cp//g' -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g' - else - showlist2 "MODULES" \(`listmods drivers/net/ irda ppp_generic slhc` `listmods drivers/usb/net/`\) | sed -e 's/8139too//g' -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g' - fi - else - showlist2 "MODULES" \(`listmods drivers/net/ irda ppp_generic slhc` `listmods drivers/usb/net/`\) | sed -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g' - fi - ;; - --modules) showlist2 "MODULES" \(`listmods modules/`\) | sed -e 's/(\ /(/g' -e 's/\ )/)/g' -e 's/\ \ /\ /g' - ;; - --hooks) - START_HOOKS="base udev autodetect ide pata scsi sata usb fw pcmcia net raid usbinput keymap encrypt lvm2 filesystems" - # remove the ones that don't exist on the system - for i in ${START_HOOKS}; do - if ! [ -e "/lib/initcpio/install/$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 - # usbinput, check for usbhid - if ! [ "$(cat /proc/modules | grep usbhid)" ]; then - START_HOOKS=$(echo $START_HOOKS | sed -e "s/usbinput//g") - fi - # keymap, check rc.conf for KEYMAP="us" - if [ "$(grep '^KEYMAP="us"' /etc/rc.conf)" ]; then - if ! [ "${KEYMAP}" = "1" ]; then - START_HOOKS=$(echo $START_HOOKS | sed -e "s/keymap//g") - fi - fi - ### TODO raid, check for presence of md devices in /dev - #if ! [ "$(ls /dev/md* > /dev/null 2>&1 )" ]; then - # START_HOOKS=$(echo $START_HOOKS | sed -e "s/raid//g") - #fi - if ! [ "$RAID" = "1" ] ; then - START_HOOKS=$(echo $START_HOOKS | sed -e "s/raid//g") - fi - ### TODO lvm2, encrypt check - # encrypt, check for presence of mapper/root - #if ! [ "$(ls /dev/mapper/root > /dev/null 2>&1 )" ]; then - # START_HOOKS=$(echo $START_HOOKS | sed -e "s/encrypt//g") - #fi - if ! [ "$ENCRYPT" = "1" ] ; then - START_HOOKS=$(echo $START_HOOKS | sed -e "s/encrypt//g") - fi - if ! [ "$LVM2" = "1" ]; then - START_HOOKS=$(echo $START_HOOKS | sed -e "s/lvm2//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 - echo "HOOKS=\"$START_HOOKS\"" | sed -e 's/"\ /"/g' -e 's/\ "/"/g' -e 's/\ \ /\ /g' - ;; - esac - shift -done - -# cleanup -rm /tmp/{modules-plain,modules-sorted,modules-stripped,moduleslist} - -# vim: set ts=2 sw=2 nowrap: -- cgit v1.2.3