#!/bin/sh -e
#
# Report the detected HW. Note that this needs to run both inside d-i
# and in a regular debian system, as well as behaving robustly if commands
# are missing or broken.
addinfo () {
sed "s%^%$1: %"
}
addfile () {
if [ -r "$1" ]; then
cat "$1" | addinfo "$1"
fi
}
uname -a 2>&1 | addinfo "uname -a"
if type lspci >/dev/null 2>&1; then
if [ "$(uname -s)" = Linux ] ; then
lspci -knn 2>&1 | addinfo "lspci -knn"
else
lspci -nn 2>&1 | addinfo "lspci -nn"
fi
#lspci -vnn 2>&1 | addinfo "lspci -vnn"
else
addfile /proc/pci
addfile /proc/bus/pci/devices
fi
if type usb-list >/dev/null 2>&1; then
# only available in udeb
usb-list 2>&1 | addinfo usb-list
elif [ -r /proc/bus/usb/devices ]; then
# usbfs dropped per 2.6.31
addfile /proc/bus/usb/devices
elif [ -r /sys/debug/usb/devices ]; then
# added per 2.6.31 but debugfs may not be mounted
addfile /sys/debug/usb/devices
elif type usb-devices >/dev/null 2>&1; then
# planned (2009/06) to be added in usbutils
usb-devices 2>&1 | addinfo usb-devices
elif type lsusb >/dev/null 2>&1; then
lsusb 2>&1 | addinfo lsusb
else
echo "No USB information available" | addinfo usb
fi
if type prtconf >/dev/null 2>&1 ; then
prtconf 2>&1 | addinfo "prtconf"
fi
# On GNU/Linux
if type lsmod > /dev/null 2>&1 ; then
lsmod 2>&1 | addinfo "lsmod"
fi
# On GNU/kFreeBSD
if type kldstat > /dev/null 2>&1 ; then
kldstat 2>&1 | addinfo "kldstat"
fi
df 2>&1 | addinfo df
free 2>&1 | addinfo free
if type pccardctl >/dev/null 2>&1; then
pccardctl status 2>&1 | addinfo "pccardctl status"
pccardctl ident 2>&1 | addinfo "pccardctl ident"
fi
if type dmraid >/dev/null 2>&1; then
dmraid -s 2>&1 | addinfo "dmraid -s"
dmraid -r 2>&1 | addinfo "dmraid -r"
if type dmsetup >/dev/null 2>&1; then
dmsetup table 2>&1 | addinfo "dmsetup table"
fi
fi
for file in cmdline cpuinfo device-tree/model ioports iomem interrupts \
meminfo bus/input/devices asound/cards; do
addfile /proc/$file
done
if type dmidecode >/dev/null 2>&1; then
dmidecode 2>&1 | addinfo dmidecode
fi
if [ "$DEBIAN_FRONTEND" = gtk ]; then
addfile /proc/fb
fi
|