Android Boot Loop? How to flash a kernel

Let me quickly write down what I just learned about my Android phone. What happened? I didn’t change anything on that phone during the last days. I’m running a CyanogenMod 9 nightly build and everything seemed so stable. At once, it started to reboot but never left the „Samsung Galaxy S“ screen. I could not boot into recovery mode, just into download mode. In the end, the research look so much longer than to actually do it:

  1. Install Heimdall. (Download links for different operating systems are in the CyanogenMod Update Guide for your phone, e.g. here.) If you still have Ubuntu 10.04, use the Heimdall version from this PPA: https://launchpad.net/~modycz/+archive/heimdall.
  2. Update: Make you have the package libusb-ocaml installed (no default in Debian Wheezy).
  3. Re-download the zip archive that you installed on the phone. (As mine worked for quite a while, I decided to have another go with the same one. If yours never booted, you might want to choose an older version.)
  4. Unzip it. Among other files, you’ll find a „boot.img“. It contains the kernel.
  5. Open a terminal and go to the directory this file is in.
  6. Put the phone into download mode (Hold all three buttons at once. On the volume button, push the „volume down“ side.) and then plug it to your computer via usb.
  7. In your terminal, from inside the directory with the boot.img, execute
    heimdall flash --kernel boot.img.
  8. The phone will reboot automatically and everything should be alright.

Eine Antwort zu „Android Boot Loop? How to flash a kernel“

  1. Worked perfect! Thanks! 😛