Interesting case while taking Ramdump of Linux kernel based device

sandeep kumar coolsandyforyou at gmail.com
Mon Jul 25 00:18:06 EDT 2011


Hi all,
In Android target mobiles there is a facility called "Ramdump", where the
entire Ram image is copied to a file
as the kernel goes to panic.

Ramdump is implemented like this
1) As the panic() function is called target will be reset.
2) Bootloader boots up in specific mode, where it enables the USB driver in
uploading mode.
3) Through USB entire RAM content is copied to a file in the host computer.
4) This file is parsed through different tools and we can get the logs info
wat exactly happened just before kernel panic happend.


Now here is the interesting part,
While the mobile's RAM image is being uploaded to host computer, our
bootloader is still running in the mobile's RAM.
How can it copy its own running region.

This triggered me the following questions,

1) When bootloader runs, will it run in a specific reserved region of RAM or
it takes entire RAM?
2) When it hands over the control to kernel, will it relinquish the entire
RAM or certain part of RAM is reserved for it?
3) Does kernel use the entire RAM while running?
4) When the kernel is running, is ther any chance that, control again be
taken back to bootloader?(coz i saw in bootloader code kernel is being
called,

after that code also some code is there,some printks and error handling
stuff)

Pls help me out here..



-- 
With regards,
Sandeep Kumar Anantapalli,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20110725/cbe78bda/attachment.html 


More information about the Kernelnewbies mailing list