Kexec based crash dumping
Hi.
It is interesting.
We(*) also make crash dump acording to similer concept.
(*) NTT Data Corporation & VA Linux Systems Japan K.K.
Our main idea is the following.
- prepare a kernel which does only dump real memory to block device. ("dump mini kernel")
- pre-allocate the memory (4MB is enough) used by the dump mini kernel and pre-load the dump mini kernel.
- when crash occur exec the dump mini kernel.
- the dump mini kernel stands in and only uses pre-allocated area.
We made mkexec(mini kernel exec) based on kexec code but simplify a lot. Mkexec can co-exist kexec and can be kernel module. We made also "dump mini kernel".
(now i386 only)
We will open our code shortly. (maybe I think) I think there are many items to be able to cooperate.
Thank you.
Signature · 1 line
Itsuro ODA <[email protected]>
Salut,
Quoted 7 lines · Itsuro Oda
- prepare a kernel which does only dump real memory to block device. ("dump mini kernel")
- pre-allocate the memory (4MB is enough) used by the dump mini kernel and pre-load the dump mini kernel.
- when crash occur exec the dump mini kernel.
- the dump mini kernel stands in and only uses pre-allocated area.
One question, what happens in your concept when some stubborn zombie kernel driver (say Nvidia) comes along and overwrites random memory areas? Will the booting of the dump kernel simply fail?
Tonnerre
Hi,
Quoted 1 line
areas? Will the booting of the dump kernel simply fail?
yes.
The pre-allocation area used by the dump kernel is set write protection after loading the dump kernel. It protects from writing through virtual address space, but does not protect through DMA writing.
Thank you
Quoted 16 lines · On Fri, 20 Aug 2004 16:28:40 +0200 Tonnerre <[email protected]> wrote:
Salut,
Quoted 7 lines · Itsuro Oda
- prepare a kernel which does only dump real memory to block device. ("dump mini kernel")
- pre-allocate the memory (4MB is enough) used by the dump mini kernel and pre-load the dump mini kernel.
- when crash occur exec the dump mini kernel.
- the dump mini kernel stands in and only uses pre-allocated area.One question, what happens in your concept when some stubborn zombie kernel driver (say Nvidia) comes along and overwrites random memory areas? Will the booting of the dump kernel simply fail?
Tonnerre
Signature · 1 line
Itsuro ODA <[email protected]>