252 lines
3.6 KiB
HTML
252 lines
3.6 KiB
HTML
|
<HTML
|
||
|
><HEAD
|
||
|
><TITLE
|
||
|
>Setup, Test, and Running crash</TITLE
|
||
|
><META
|
||
|
NAME="GENERATOR"
|
||
|
CONTENT="Modular DocBook HTML Stylesheet Version 1.63
|
||
|
"><LINK
|
||
|
REL="HOME"
|
||
|
TITLE="Linux Crash HOWTO"
|
||
|
HREF="index.html"><LINK
|
||
|
REL="PREVIOUS"
|
||
|
TITLE="Installation of lkcd"
|
||
|
HREF="install.html"></HEAD
|
||
|
><BODY
|
||
|
CLASS="SECT1"
|
||
|
BGCOLOR="#FFFFFF"
|
||
|
TEXT="#000000"
|
||
|
LINK="#0000FF"
|
||
|
VLINK="#840084"
|
||
|
ALINK="#0000FF"
|
||
|
><DIV
|
||
|
CLASS="NAVHEADER"
|
||
|
><TABLE
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TH
|
||
|
COLSPAN="3"
|
||
|
ALIGN="center"
|
||
|
>Linux Crash HOWTO</TH
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="bottom"
|
||
|
><A
|
||
|
HREF="install.html"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="80%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="bottom"
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="10%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="bottom"
|
||
|
> </TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"></DIV
|
||
|
><DIV
|
||
|
CLASS="SECT1"
|
||
|
><H1
|
||
|
CLASS="SECT1"
|
||
|
><A
|
||
|
NAME="SETUP"
|
||
|
>4. Setup, Test, and Running crash</A
|
||
|
></H1
|
||
|
><DIV
|
||
|
CLASS="SECT2"
|
||
|
><H2
|
||
|
CLASS="SECT2"
|
||
|
><A
|
||
|
NAME="AEN87"
|
||
|
>4.1. Setting up crash dump</A
|
||
|
></H2
|
||
|
><P
|
||
|
> In order to save a core image that has been written into swap,
|
||
|
the image must be saved prior to swap being re-mounted during
|
||
|
boot. To accomplish this, the <TT
|
||
|
CLASS="FILENAME"
|
||
|
>sysinit</TT
|
||
|
>
|
||
|
startup file needs to be changed. The lkcd source includes a
|
||
|
<TT
|
||
|
CLASS="FILENAME"
|
||
|
>scripts</TT
|
||
|
> directory which contains patches
|
||
|
for various sysinit startup scripts. These patches add the
|
||
|
<B
|
||
|
CLASS="COMMAND"
|
||
|
>lkcd config</B
|
||
|
> and <B
|
||
|
CLASS="COMMAND"
|
||
|
>lkcd save</B
|
||
|
>
|
||
|
commands to enable crash dumps and to save any existing crash
|
||
|
dumps upon startup. </P
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="SECT2"
|
||
|
><H2
|
||
|
CLASS="SECT2"
|
||
|
><A
|
||
|
NAME="AEN94"
|
||
|
>4.2. Testing crash</A
|
||
|
></H2
|
||
|
><P
|
||
|
> To force a panic to test you new crash setup, compile the following
|
||
|
code with <B
|
||
|
CLASS="COMMAND"
|
||
|
>cc -c -I/usr/src/linux/include panic.c</B
|
||
|
> .
|
||
|
After building the <TT
|
||
|
CLASS="FILENAME"
|
||
|
>panic.o</TT
|
||
|
> module just
|
||
|
<B
|
||
|
CLASS="COMMAND"
|
||
|
>insmod panic.o</B
|
||
|
> to panic the kernel. </P
|
||
|
><TABLE
|
||
|
BORDER="1"
|
||
|
BGCOLOR="#E0E0E0"
|
||
|
WIDTH="100%"
|
||
|
><TR
|
||
|
><TD
|
||
|
><FONT
|
||
|
COLOR="#000000"
|
||
|
><PRE
|
||
|
CLASS="SCREEN"
|
||
|
> ### panic.c ###########################
|
||
|
|
||
|
#define __KERNEL__
|
||
|
# MODULE
|
||
|
|
||
|
# include init_module(void)
|
||
|
|
||
|
int init_module (void)
|
||
|
{
|
||
|
panic(" panic has been called");
|
||
|
return 0;
|
||
|
}
|
||
|
</PRE
|
||
|
></FONT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="SECT2"
|
||
|
><H2
|
||
|
CLASS="SECT2"
|
||
|
><A
|
||
|
NAME="AEN101"
|
||
|
>4.3. Running crash</A
|
||
|
></H2
|
||
|
><P
|
||
|
> To view your kernel core file <B
|
||
|
CLASS="COMMAND"
|
||
|
>lcrash</B
|
||
|
> needs
|
||
|
to be invoked with a couple of parameters: </P
|
||
|
><TABLE
|
||
|
BORDER="1"
|
||
|
BGCOLOR="#E0E0E0"
|
||
|
WIDTH="100%"
|
||
|
><TR
|
||
|
><TD
|
||
|
><FONT
|
||
|
COLOR="#000000"
|
||
|
><PRE
|
||
|
CLASS="SCREEN"
|
||
|
> <B
|
||
|
CLASS="COMMAND"
|
||
|
>lcrash [ System.map file ] [ dump image ] [ Kerntypes ]</B
|
||
|
>
|
||
|
|
||
|
Example:
|
||
|
|
||
|
<B
|
||
|
CLASS="COMMAND"
|
||
|
>lcrash /boot/System.map ./dump.1 /boot/Kerntypes</B
|
||
|
>
|
||
|
</PRE
|
||
|
></FONT
|
||
|
></TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
><P
|
||
|
>It will take a minute to load the kernel image into memory and drop
|
||
|
you into the crash shell. At the crash shell prompt you can type a
|
||
|
<TT
|
||
|
CLASS="USERINPUT"
|
||
|
><B
|
||
|
>?</B
|
||
|
></TT
|
||
|
> to see the available commands. </P
|
||
|
></DIV
|
||
|
></DIV
|
||
|
><DIV
|
||
|
CLASS="NAVFOOTER"
|
||
|
><HR
|
||
|
ALIGN="LEFT"
|
||
|
WIDTH="100%"><TABLE
|
||
|
WIDTH="100%"
|
||
|
BORDER="0"
|
||
|
CELLPADDING="0"
|
||
|
CELLSPACING="0"
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="install.html"
|
||
|
>Prev</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
><A
|
||
|
HREF="index.html"
|
||
|
>Home</A
|
||
|
></TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
> </TD
|
||
|
></TR
|
||
|
><TR
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="left"
|
||
|
VALIGN="top"
|
||
|
>Installation of lkcd</TD
|
||
|
><TD
|
||
|
WIDTH="34%"
|
||
|
ALIGN="center"
|
||
|
VALIGN="top"
|
||
|
> </TD
|
||
|
><TD
|
||
|
WIDTH="33%"
|
||
|
ALIGN="right"
|
||
|
VALIGN="top"
|
||
|
> </TD
|
||
|
></TR
|
||
|
></TABLE
|
||
|
></DIV
|
||
|
></BODY
|
||
|
></HTML
|
||
|
>
|