Recovery.c中能对eMMC进行直接读写,mmc_read/mmc_write.
git blame <file_name>
BC使用:
1. 选中2个文件夹
2. 选择过滤器,过滤掉一些不需要参加比较的文件夹或文件
3. 从左右2个文件中排除掉不需要比较的文件夹
4. 展开所有文件,然后选中所有文件进行比较。
android dumpstate:
http://blog.csdn.net/zhongnanjun_3/article/details/20461143
#adb shell bugreport > bugreport-yyyy-mm-dd-hh-mm-ss.txt
或者
#adb shell dumpstate > dumpstate-yyyy-mm-dd-hh-mm-ss.txt
android panic:
http://wenku.baidu.com/link?url=JGa82kw6MIZBnTpVmqEku6axYuY2HJxhdPQlpiqCvjI5EWELwgTJ7czk68clwAudOesye2c0nd7jdxiJClZqi_JGN1P2QsrWe_OjysstjQ3
How about /data/dontpanic folder? After kernel panic happens, you can connect USB cable with your Android device and check the files in that folder through ADB.
https://github.com/cq2000/XT701/blob/2.6.29/drivers/misc/apanic.c
I found this folder contains some apanic files after a kernel panic happens. For example, if a kernel panic just happens and you go check the folder, you might find these two files:
apanic_console apanic_threads
You can find out in apanic_threads which thread/process is running when the kernel panic happens. In apanic_console you might find out more information such as the stack trace and values of some critical registers: PC, LR, etc. They will help you get your debugging started.
During kernel panic, as the name suggests kernel is going to die. So its not a good idea to save logs at that time.
However, you can Register your function in panic_notifier_list. Your function will be called during panic. In that function, you can modify how the device should reboot or any other suitable action.
After arch_reset, ram dumps can be saved to mmc card either through bootloader or by using mini kernel concept (allow a separate kernel to boot which will save ram dumps into mmc).
Old Ram data exists till kernel boots again after reset. Not sure how in your case ram content is cleared. Ram data is cleared only when battery is removed.