#!/bin/bash

# Kernel bug report generator script
# Script generated from prior bug report form by Karsten M. Self
# $Revision: 1.3 $ $Date: 2000/05/13 07:48:36 $ $Author: root $


# ------------------------------------------------------------------------
# [Some of this is taken from Frohwalt Egerer's original linux-kernel FAQ]
#
# What follows is a suggested procedure for reporting Linux bugs. You
# aren't obliged to use the bug reporting format, it is provided as a guide
# to the kind of information that can be useful to developers - no more.
#
# If the failure includes an "OOPS:" type message in your log or on
# screen please read "Documentation/oops-tracing.txt" before posting your
# bug report. This explains what you should do with the "Oops" information
# to make it useful to the recipient.
#
# Send the output the maintainer of the kernel area that seems to
# be involved with the problem. Don't worry too much about getting the
# wrong person. If you are unsure send it to the person responsible for the
# code relevant to what you were doing. If it occurs repeatably try and
# describe how to recreate it. That is worth even more than the oops itself.
# The list of maintainers is in the MAINTAINERS file in this directory.
#
# If you are totally stumped as to whom to send the report, send it to
# linux-kernel@vger.rutgers.edu. (For more information on the linux-kernel
# mailing list see http://www.tux.org/lkml/).
#
# This is a suggested format for a bug report sent to the Linux kernel mailing
# list. Having a standardized bug report form makes it easier for you not to
# overlook things, and easier for the developers to find the pieces of
# information they're really interested in. Don't feel you have to follow it.
#
# First run the ver_linux script included as scripts/ver_linux or
# at <URL:ftp://ftp.sai.msu.su/pub/Linux/ver_linux> It checks out
# the version of some important subsystems. Run it with the command
# "sh scripts/ver_linux"
#
# Use that information to fill in all fields of the bug report form, and
# post it to the mailing list with a subject of "PROBLEM: <one line
# summary from [1.]>" for easy identification by the developers
# ------------------------------------------------------------------------

# indent by one tabstop
function tabout () { sed -e '/^/s// /'; }

kversion=$( uname -r )
dmesg=dmesg
dmesg="cat /var/log/kern.log" # for debugging only
oops_number=$( $dmesg | grep Oops | tail -1 | sed -e '/^.*:/s///' )
oops_module=$( $dmesg | grep EIP | tail -1 | sed -e '/^.*:/s///' )

cat <<EOF

This is a script-generated kernel bug report.

The system administrator/developer should provide additional information
where appropriate.

kernel-bug-report: $Revision: 1.3 $ $Date: 2000/05/13 07:48:36 $ $Author: root $

[1.] One line summary of the problem:

PROBLEM: $1 oops $oops_number in $oops_module, $kversion kernel

[2.] Full description of the problem/report:

n/a

[3.] Keywords (i.e., modules, networking, kernel):

linux kernel $kversion oops $oops_number $oops_module

[4.] Kernel version (from /proc/version):

$( cat /proc/version | tabout )

[5.] Output of Oops.. message (if applicable) with symbolic information
resolved (see Documentation/oops-tracing.txt)

$( $dmesg | ksymoops -k /proc/ksyms | tabout )

[6.] A small shell script or example program which triggers the
problem (if possible)

n/a

[7.] Environment

$( set | tabout )

[7.1.] Software (add the output of the ver_linux script here)

$( sh -f /usr/src/linux/scripts/ver_linux | tabout )

[7.2.] Processor information (from /proc/cpuinfo):

$( cat /proc/cpuinfo | tabout )

[7.3.] Module information (from /proc/modules):

$( cat /proc/modules | tabout )

[7.4.] SCSI information (from /proc/scsi/scsi)

$( cat /proc/scsi/scsi | tabout )

[7.5.] Other information that might be relevant to the problem
(please look in /proc and include all information that you
think to be relevant):

System memory (at time of oops):
$( cat /proc/meminfo | tabout )

System uptime:
$( uptime | tabout )

[X.] Other notes, patches, fixes, workarounds:
EOF