home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / usr / sbin / getsysinfo < prev    next >
Text File  |  2006-11-29  |  2KB  |  87 lines

  1. #! /bin/sh
  2.  
  3. if [ "$1" ] ; then
  4.   cat <<EOF
  5. Usage: getsysinfo
  6. Collect some system data that are useful for debugging
  7. hardware detection bugs.
  8. EOF
  9.   exit 0
  10. fi
  11.  
  12. # collect some system data
  13.  
  14. dir=`mktemp -d /tmp/getsysinfo.XXXXXXXXXX`
  15.  
  16. [ -d "$dir" ] || exit 1
  17.  
  18. host=`hostname`
  19. [ "$host" ] || host=xxx
  20.  
  21. mkdir -p "$dir/$host"
  22.  
  23. for i in \
  24.   /proc/acpi \
  25.   /proc/asound \
  26.   /proc/bus/input \
  27.   /proc/cpuinfo \
  28.   /proc/device-tree \
  29.   /proc/devices \
  30.   /proc/dma \
  31.   /proc/driver/nvram \
  32.   /proc/fb \
  33.   /proc/filesystems \
  34.   /proc/iSeries \
  35.   /proc/ide \
  36.   /proc/interrupts \
  37.   /proc/iomem \
  38.   /proc/ioports \
  39.   /proc/meminfo \
  40.   /proc/modules \
  41.   /proc/net/dev \
  42.   /proc/partitions \
  43.   /proc/scsi \
  44.   /proc/sys/dev/cdrom/info \
  45.   /proc/sys/dev/parport \
  46.   /proc/tty \
  47.   /proc/version \
  48.   /sys \
  49.   /var/log/boot.msg \
  50.   /var/lib/hardware/udi
  51. do
  52.   if [ -e "$i" ] ; then
  53.     echo "$i"
  54.     cp -a --parents "$i" "$dir/$host" 2>/dev/null
  55.     chmod -R u+w,a+r,a+X "$dir/$host"
  56.   fi
  57. done
  58.  
  59. echo /proc/mounts
  60. perl -nl -e 'print unless (split)[0] =~ /none|automount|:/' /proc/mounts >"$dir/$host/proc/mounts"
  61.  
  62. echo -e "\n------  dmesg start  ------\n" >>"$dir/$host/var/log/boot.msg"
  63. dmesg >>"$dir/$host/var/log/boot.msg"
  64.  
  65. if [ -x /usr/bin/lshal ] ; then
  66.   echo lshal
  67.   lshal >$dir/$host/lshal.txt 2>/dev/null
  68. fi
  69.  
  70. file="$host.tar.gz"
  71. tar -C "$dir" -zcf "$dir/$file" "$host"
  72.  
  73. rm -f "/tmp/$file"
  74.  
  75. if [ -e "/tmp/$file" ] ; then
  76.   echo "Warning: /tmp/$file exists, no info written"\!
  77.   rm -rf "$dir"
  78.   exit 1
  79. fi
  80.  
  81. ln -nf "$dir/$file" "/tmp/$file"
  82.  
  83. rm -rf "$dir"
  84.  
  85. echo -e "\nSystem data written to: /tmp/$file"
  86.  
  87.