summaryrefslogtreecommitdiff
path: root/debian/bugscript
blob: cd81794b96308c66fdc9ca3de6f0f991ca42923f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
#!/bin/sh
#
# mdadm bug submission control script
#
# allows Debian's bug tools to include relevant information in bug reports.
#
# Copyright © martin f. krafft <madduck@debian.org>
# distributed under the terms of the Artistic Licence 2.0
#
# $Id$
#

set -eu

if [ ! -r /proc/mdstat ]; then
  echo "The local system does not have MD (RAID) support: no drivers loaded."
  echo "Without MD support, I cannot collect as much information as I'd like."

  #yesno "Are you sure you want to report a bug at this time? " yep
  yesno "Hit any key to continue..."
  #[ "$REPLY" = yep ] || exit 1
fi

echo "--- mount output" >&3
mount >&3
echo >&3

echo "--- mdadm.conf" >&3
if [ -r /etc/mdadm/mdadm.conf ]; then
  cat /etc/mdadm/mdadm.conf >&3
else
  echo no mdadm.conf file. >&3
fi
echo >&3

echo "--- /proc/mdstat:" >&3
cat /proc/mdstat >&3
echo >&3
  
echo "--- /proc/partitions:" >&3
cat /proc/partitions >&3 2>&3 || true
echo >&3

echo "--- initrd.img-$(uname -r):" >&3
if [ -r /boot/initrd.img-$(uname -r) ]; then
  zcat /boot/initrd.img-$(uname -r) 2>&3 | cpio -t 2>&3 | egrep '/md[a/]' >&3
fi
echo >&3

if [ -r /proc/modules ]; then
  echo "--- /proc/modules:" >&3
  egrep '(dm_|raid|linear|multipath|faulty)' < /proc/modules >&3
  echo >&3
fi

if [ -r /var/log/syslog ]; then
  echo "--- /var/log/syslog:" >&3
  egrep "^\w{3} [ :[:digit:]]{11} ($(hostname)|localhost) (kernel: md|mdadm): " /var/log/syslog >&3
  echo >&3
fi

echo "--- volume detail:" >&3
for dev in /dev/[hs]d[a-z]*; do mdadm -E $dev 2>/dev/null && echo --; done >&3
echo >&3

if [ -r /proc/cmdline ]; then
  echo "--- /proc/cmdline" >&3
  cat /proc/cmdline >&3
  echo >&3
fi

if [ -f /boot/grub/menu.lst ]; then
  echo "--- grub:" >&3
  if [ -r /boot/grub/menu.lst ]; then
    grep '^[^#].*root=' /boot/grub/menu.lst >&3
  else
    echo menu.lst file not readable. >&3
  fi
  echo >&3
fi

if [ -f /etc/lilo.conf ]; then
  echo "--- lilo:" >&3
  if [ -r /etc/lilo.conf ]; then
    egrep '^([^#].*)?root=' /etc/lilo.conf >&3
  else
    echo lilo.conf file not readable. >&3
  fi
  echo >&3
fi