Okay, I've got it to work and I've written an installation script for it, too--although the
install.bat script is untested, the adb commands themselves should work).
updated 9/20/2012:
View attachment dmesg-on-boot.zip
IBT, you're welcome to try this, but it really does exactly (as far as I know) the same thing as chainfire's
[root] live dmesg lite app.
All credit goes to chainfire for this!!!
It's really intended for gapi's device since there's no expectation of backing-out the changes. Feel free to examine the .zip file and the install.bat (MS/DOS) script.
gapi, for you to use this, download the above .zip file and extract it a temp file on your PC. Then start-up a Windows Command Prompt (cmd.exe / command) and navigate to that directory.
You'll see four files in the .zip file that you've just extracted:
1.
bootanimation - this file will replace the current bootanimation binary that's currently installed on your JB /system/bin directory
2.
boot-dmesg - this is the actual binary created by chainfire that displays the boot animation (very cool!)
3.
libcfsurface-dmesg.so - a library file presumably needed by the boot-dmesg binary
4.
install.bat - this is an installation script that I tried to create for you to automate the installation; you should probably review the script to see what it's going to do just in case the script doesn't work
5.
bootanimation-1, bootanimation-2, bootanimation-3 - alternate versions of the bootanimation file to push-over in case the original bootanimation file doesn't work or allow it's data to be captured
~ ~ ~
To actually do the installation, do this:
- install JB as you normally would / have
- reboot phone into CWM recovery (no need to boot normally into a boot-loop yet)
- from inside CWM
- mount /system (under Mounts and Storage Menu)
- return to the main CWM menu
- from your PC, either type-in these commands or invoke the install.bat script:
- adb shell mv /system/bin/bootanimation /system/bin/bootanimation.bak
- adb push bootanimation /system/bin/bootanimation
- adb push boot-dmesg /system/bin/boot-dmesg
- adb push libcfsurface-dmesg.so /system/bin/libcfsurface-dmesg.so
- adb shell chmod 755 /system/bin/bootanimation
- adb shell chmod 6755 /system/bin/boot-dmesg
- adb shell chmod 644 /system/bin/libcfsurface-dmesg.so
- reboot from CWM
~ ~ ~
Okay, finally, its really (really!) hard to read what is being displayed on the screen from the boot animation. If you don't find that you can read or glean anything useful from the display, we can try to alter the
bootanimation file to redirect it's output to the /cache partition for later analysis. The bootanimation file that you push over in this process is simply a script that invokes the boot-dmesg binary that chainfire wrote.
So, here's what I would try, in order:
1. do the above and see how useful it is
2. if that doesn't work, try using the
bootanimation-1 file instead which does this:
#!/system/bin/sh
/system/bin/boot-dmesg >> /cache/bootani-1.out
Here are the commands you'll need to enter on your PC:
- adb push bootanimation-1 /system/bin/bootanimation
- adb shell chmod 755 /system/bin/bootanimation
and then reboot your phone to capture the bootloop behavior.
3. if that doesn't work, try using the
bootanimation-2 file instead which does this:
#!/system/bin/sh
cat /proc/kmsg >> /cache/bootani-2.out
Here are the commands you'll need to enter on your PC:
- adb push bootanimation-2 /system/bin/bootanimation
- adb shell chmod 755 /system/bin/bootanimation
and then reboot your phone to capture the bootloop behavior.
4. if that doesn't work, try using the
bootanimation-3 file instead which does this:
#!/system/bin/sh
/system/bin/dmesg >> /cache/bootani-3.out
Here are the commands you'll need to enter on your PC:
- adb push bootanimation-3 /system/bin/bootanimation
- adb shell chmod 755 /system/bin/bootanimation
and then reboot your phone to capture the bootloop behavior.
~ ~ ~
After you see the device bootlooping, do a battery pull like you've been doing (I believe), reboot into CWM, and grab the bootanimation captures from your
/cache partition and post 'em up here for us to view (for whichever ones are actually there):
- adb shell ls -a -l /cache/bootani*.out
- adb pull /cache/bootani-1.out
- adb pull /cache/bootani-2.out
- adb pull /cache/bootani-3.out
My desktop access will be somewhat limited over the coming days, so IBT might need to help guide you through things if possible (he's more than knowledgeable and capable!).
Cheers and I hope this helps!
-SA