News - Linux Kernel Crash Dump
LKCD 6.0.0 is released!
Why the big jump in version numbers?
This is a major new release. With this release we are also changing how
we develop and deliver LKCD. We are moving to a kernel.org style
versioning where even numbers are releases and odd number versions are
development branches. The odd number branch will be used for future
versions that break the dump file .
Also with this release we will finally utilize the main download section
area on SourceForge. We will be releasing single patch files against
specific kernel versions. This allows users to download 1 file, patch
and rebuild their kernel to have LKCD support.
All download images (RPMs, patches, etc.) are being placed in the main
download area on SourceForge, which can be found off of the main page here.
Kernel patches for 2.4.20 are now on the web site. They are available
Kernel patches for 2.5.44 are now on the web site. They are available
Kernel patches for 2.5.41 are now on the web site. They are available
LKCD 4.1-1 is released. Time to celebrate -- no more delays, waiting
for random patches and various bug fixes. Thanks to everyone who has
contributed to the project to this point, and let's get on with our
linux-2.5 work (finally!)
Some of us are just back from LinuxWorld in New York, after having
presented on Linux and RAS. LKCD 4.0.3 is ready to be released, and
we are waiting for some last-minute fixes from SGI for ia64 platforms.
Hopefully we'll get a BK patch in for 2.5.5 soon!
It's been quite some time since we've updated the news, but that's
not due to any shortage of things happening. It's been for a number
of reasons, not the least of which has been access to oss.sgi.com to
make updates. So here's the latest news:
There are probably lots of other very significant changes, additions,
deletions, etc. The release of 4.0 should be by the end of this month.
It has been delayed due to access restrictions on oss.sgi.com, which
have now been dealt with.
- The web pages are now moved off of oss.sgi.com and onto
- Release 4.0 is imminent;
- The 4.0 code will be for 2.4 kernel releases only; 2.2 code is
still available in the kernel tree, but is not being maintained
actively (although we may go back and backport the 2.4 changes to
2.2 in the future);
- The entire dump infrastructure now supports dump modules in the
current CVS tree; in addition, the dump code can be a module (and
compression is now module based!)
- The user script infrastructure has changed, along with setting
up dumping. Now, /sbin/lkcd replaces /sbin/vmdump, and
/sbin/lkcd_config will configure the system for dumping.
/sbin/lkcd_ksyms is also available for dumping out kernel symbols
(for modules as well). The sysconfig file is /etc/sysconfig/dump,
and /dev/dump is a standard major/minor device which represents the
dump device driver;
- A number of contributors from IBM in Germany and India are now
contributing significantly to LKCD, both in the kernel and user
- Intel, Storigen, MCL, Fujitsu and others have contributed code
to the effort;
- lkcdutils will now have the kernel patch in it; the release
number of lkcdutils will be tied directly to the kernel patch as a
LKCD 3.0 is now available. LKCD 3.0 provides support for both 2.2 and 2.4
kernels. Highlights of this new release include:
- LKCD now supports IDE dumps with 2.2 kernels.
- The lcrash utility has been removed from the LKCD kernel patch
and is now available as part of the new lkcdutils RPM. The LKCD RPM
also contains a number of LKCD startup scripts.
- The lcrash utility no longer needs to be recompiled every time a
new kernel is built. That is because the LKCD 3.0 kernel patch
introduces a new kernel target, called Kerntypes. The Kerntypes
target, which contains stabs data for most kernel data types, is
installed in the /boot directory along with the System.map and
kernel image. The lcrash utility is able to use the type information
contained in Kerntypes when it references kernel data structures in
a dump. This approach lets lcrash determine offsets to structure
members on-the-fly. It also allows a single lcrash binary to
analyze crash dumps generated by multiple kernels -- including 2.2
and 2.4 kernels.
- The LKCD kernel patch for the 2.4 kernel also contains support
for the ia64 architecture. A separate ia64 lkcdutils RPM is also
Please send any feedback regarding the LKCD 3.0 release to
The latest version of LKCD for 2.3 kernels is now available. You can
build it into your kernel and get things running pretty quickly. One
note, however -- don't build it as a module just yet, as we're working on
the stack trace code for 'lcrash' for generated crashes. Give it some
time -- it'll be done soon enough.
We'll also try to backport the 2.3 changes to 2.2 so you can get your
IDE systems working with LKCD. We'd like to remove the SCSI disk
restriction as soon as we can.
Please send any feedback regarding the 2.3 code to
Additional support for ia64 has been added to the 2.3 LKCD source tree
on SourceForge. Changes to the kernel have been checked in (still not
fully functional). In addition, more work has been done on ia64 support
for the lcrash utility. Until the kernel crash dump facility is fully
implemented, it is possible to run lcrash against a live ia64 system
(you must be root to access /dev/mem). Almost all of the functionality
implemented for the i386 architecture is now available on ia64 systems
(at this time, the stack trace facilities are only partially implemented).
Although it's been a while since we posted any news, that doesn't
mean that nothing's happened. The LKCD project has been moving
forward on several fronts. We've set up a source repository for
the LKCD project on SourceForge, to make it easier for developers
from multiple organizations to contribute. The official web site for
the LKCD project will remain on oss.sgi.com. In addition, any
patches or downloads that get released will be made available from
The Source Forge repository contains source trees for both 2.2 and 2.3
versions of LKCD. Just like with the Linux kernel, the 2.2 tree is
considered "stable" and provides support for the latest released kernel
(note that the last patch released, lkcd2.2.13-1.0.4.patch, supports the
2.2.13 kernel). The 2.3 tree does not yet contain a fully functional LKCD
implementation. There is still kernel work going on, much of which has
not been checked in yet. A more fully functional version of lcrash has
been checked in, however, that provides full support is for the i386
architecture and partial support for the ia64 architecture (work is also
under way to provide support for the Alpha architecture).
In addition, a new feature has been added to lcrash that allows the
user to generate a system crash dump from a live system (without crashing
the system). This new feature provides a means for generating crash dumps
on systems with ide disks (although not when a system crash occurs). It
also provides a snapshot of system memory, including kernel state, without
impacting the system. This new feature is available for both 2.2 and
2.3 versions of LKCD (i386 architecture only at this time).
The talk at LinuxWorld 2000 went well. We had between 80 - 100
attendees at the conference session, along with a number of very
good questions about our future direction and what capabilities
currently exist. We have a lot of hope that the future of LKCD
is to make it a part of the base Linux release.
The conference presentation slides and technical paper can be
downloaded from the
documentation download directory.
Well, we've now released version 1.0.4. This has a couple of minor
changes added to the release, the most significant being the changes
to the stabs code to add better symbol table support. In addition,
dump headers are now changed so that different architectures can
create their own dump headers and use them however they want. We
believe that the kernel code is now complete as far as Linux 2.2
is concerned. Commands can and will still be added to 'lcrash', however,
to make it more feature-friendly.
Feel free to download it and give it a try. As soon as I have it
all ported over to 2.2.14 (which should be fairly fast), I'll upload a
version to the 1.0.4 directory.
know if you have any problems with the image.
Also, we'll be moving our work to Linux 2.3 as soon as I get some sort
of response from Stephen Tweedie regarding his kiobuf work. We are
willing to do some of the work, but we're waiting to find out if he
has done it already. Regardless, we hope this will lead to a fast
port over to 2.3 -- I suspect this won't take long, but again, this
leaves us in the position of waiting for someone to finish some code
in the kernel. Trust me, we'd love to do the work ourselves ... :)
Needless to say, the port for the kernel portion of LKCD is pretty
Linus has stated that he will not accept LKCD into the 2.3 tree. Given
this, we'll be doing our best to keep up with the latest development and
foundation releases until 2.5, where we expect this to become a base
part of the kernel. Stay tuned.
Finally, I'll try to update the News stuff more frequently. We've
been releasing other stuff in the meantime, so I haven't made it a
really good habit as of yet. Thanks for your patience.
We're currently up to version 1.0.3. The latest release has quite a few
bug fixes from the users, and we're trying to keep up with the request
demand (such as IDE support, etc.) We'll be doing our best to add
features, improve the product, and attempt to make this a part of the
standard Linux distribution.
Also, Keith Owens has started development on 2.3.X, and has the vmdump
code complete, but not the raw I/O code. If you'd like to take a look
at what he has so far (and it is experimental at best), please review:
Thank you for all the positive feedback so far. Please continue to let
us know how we can make things better!
Okay, we're going to release. After much waiting for the raw I/O patch,
it's finished! We took a little extra time to make sure everything
looked correct, and now we're releasing to the world. Please install
and let us know what problems, questions, concerns, comments, etc., you
may have. Send E-mail to
Grab the latest version of the software from
I apologize for delay in getting this source released. I have Stephen
Tweedie's raw I/O patch, and I have all our source code in an RPM
and patch ready to go, but I don't have the SGI raw I/O patch
available to me yet. I could go into a ton of reasons why this
isn't ready, but ...
I'll try pushing for it again today.
We've finished the base 1.0 code! I'll try to have something out in
a day or two as an RPM/patch set. You'll need a few additional things,
and I'll try to have the documentation explain everything.
All kernel code for crash dumping has been checked into the SGI 1.1
tree, and libklib code is now being built without
problems. In addition, lcrash is now built and
running against the new libklib.a. We are currently
finishing the spec file for the lcrash and user
level scripts for configuring the system for crash dumps and also
saving any dumps that may have occurred between system resets.
It is only a matter of time before we have an image available.
Unfortunately, the release will be pending the release of the raw I/O
patch, which is a prerequisite for our product.
We have finished all code for the kernel portion of dumping memory to
the primary swap partition, pointed at by /dev/dump.
We have also finished most of the lcrash code, but we
are still creating the code for generating the crash report. In addition
to all of this, the scripts to recover the crash dump after a system
failure are in place.