<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 >