[Crash-utility] how to use crash utility to parse the binary memory dump

Dave Anderson anderson at redhat.com
Wed May 28 13:28:24 UTC 2014



----- Original Message -----
> Hi,
> 
> I have modified crash utility to convert ramdump to ELF32 format.
> 
> @Dave: this is very helpful feature where if someone wants to debug raw ramdump.
> no matter where you kenerel starts, I make one program header with relevant
> offset and generate object files.
> the code for the same is embedded in the crash utlity.
> 
> Dave, please share your views on this.
> 
> Regards,
> Oza.

Since these raw DDR dumps seem to be an existing feature, it certainly
seems worth implementing support for them.  

I'm curious as to how these RAM dumps are currently used -- are there other
tools that use them somehow?  

Are these DDR RAM dumps specific to embedded 32-bit ARM machines?
  
Your feature sounds like a two-stage process:

 (1) invoke crash utility -- passing it the base physical address of the
     contiguous RAM dump, and the RAM dump file name(s) -- and then crash
     creates a single ELF vmcore by pre-pending an ELF header and concatenating
     the dump file names.
 (2) invoke crash utility with vmlinux and newly-created vmcore. 

But you mention "generate object files" above.  Do you generate more than one file?

Is the newly-created vmcore subsequently recognized as a netdump or kdump
ELF vmcore?  (i.e, handled by existing code in netdump.c)  

Or does it create a new ELF-like dumpfile type that is handled in your new
ramdump.c file?

Could it be done in one step?  In other words, something like:
 
  $ crash vmlinux --ddr 80000000 ddr1.bin [ddr2.bin ...]

where there would be a "virtual" ELF header created that could be used
during the crash session?  (perhaps with an optional "-o outputfile"
command line option to create/save it as an ELF vmcore) 

Dave

  
> 
> 
> 
> 
> On Tuesday, 27 May 2014 5:34 PM, buyitian <buyit at live.cn> wrote:
> 
> 
> Hi:
> 
> my HW is like this:
> 
> DDR starts from physical address 0x80000000, size is 1GB.
> after crash, there are two dump files: ddr1.bin and ddr2.bin.
> each binary file is 512MB.
> 
> the vmlinux is on my hand.
> 
> how can i use crash utility to parse these two binary?
> thanks.
> 
> Best Regards
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility
> 
> 
> --
> Crash-utility mailing list
> Crash-utility at redhat.com
> https://www.redhat.com/mailman/listinfo/crash-utility




More information about the Crash-utility mailing list