[Top] [All Lists]

Re: kernelcrash during root filesystem recovery

To: utz lehmann <xfs@xxxxxxxxxx>
Subject: Re: kernelcrash during root filesystem recovery
From: Keith Owens <kaos@xxxxxxxxxxxxxxxxx>
Date: Sat, 02 Dec 2000 08:51:46 +1100
Cc: linux-xfs@xxxxxxxxxxx
In-reply-to: Your message of "Fri, 01 Dec 2000 19:37:03 BST." <20001201193703.A1636@xxxxxxxxxx>
Sender: owner-linux-xfs@xxxxxxxxxxx
On Fri, 1 Dec 2000 19:37:03 +0100, 
utz lehmann <xfs@xxxxxxxxxx> wrote:
>i dont know to use kdb. can you help me.

There are manual pages for kdb, "man Documentation/kdb/kdb.mm" for an
overview, then read the other man pages.  Little known Linux fact, if
the 'man' command is given a name that contains '/' then it goes direct
to that file instead of searching the man paths.

  cd linux/Documentation/kdb
  man ./kdb.mm
  man ./kdb_bt.man

man kdb.mm will search the man paths, man ./kdb.mm will look at the
specified file.

For this problem, the starting point is a backtrace on the failing
process, the kdb command is 'bt'.  To capture the output there are two
options :-

(1) Run a null modem cable to a second machine, compile the kernel with
    serial console enabled (CONFIG_SERIAL=y, CONFIG_SERIAL_CONSOLE=y),
    boot with the serial console active.  My lilo.conf contains

      append="console=tty0 console=ttyS1,38400"

    This is all covered in Documentation/serial-console.txt.  Run any
    comms program on the second machine to capture the output.  You can
    enter kdb commands on either the main keyboard or the serial

(2) If the syslog has started before the panic and the machine is
    usable after the panic and the amount of output is small (less than
    8K of text) then you can save the kdb output via syslog.  When you
    enter kdb, type

      set LOGGING=1

    kdb output will be stored in the syslog buffer.  When you type 'go'
    in kdb, that data will be written to disk by syslog.  Of course
    that requires that syslog is working after the panic.  In a lot of
    cases the panic kills the machine and syslog is never written so
    this option is not reliable.

You can enter preset commands via kdb/kdb_cmds then compile.  Any
commands added to that file are issued during kdb initialization.  It
is a useful place to store your standard settings for kdb environment

<Prev in Thread] Current Thread [Next in Thread>