Android

After playing with a few animations, I wanted to make some edits to them, and try converting some existing gifs into boot animations.

I found that when editing the series of images, if I pulled few out. edited them, and put then back into the Bootanimation.zip those particular frames did not play. And if I replaced all of the images, the phone wouldn't even boot.

After incorrectly assuming it was the image format, and size, and bit depth, the following column in 7 Zip tipped me off.

7zip

Ensuring the files were not compressed when added them back into the Zip worked. The zip only functioned as a container for the images, the compression should be done at the image level.

At about the same time a family member needed a new phone, some old units at work were getting thrown out. So i though i would grab them, and also go through my collection and see if i could update them all to the latest Cyanogenmod  or equivalent.

Phones

From Top Left

  • Stock Android 2.3 on a Galaxy SII.
  • Stock Android 4.1 on a Galaxy SII.
  • Modded AOSP 4.1 Rom on a My Touch 4G Slide aka Doubleshot
  • Stock Android 4.1 on a Galaxy Note (N7000).
  • Stock Android Desire Z (Vision).
  • Broken CM Rom on a Galaxy SII (Was given to me in the pictured looping boot state)

Photo was taken after I had already loaded Cyanogenmod on the Note & Doubleshot, while the Doubleshot was very straight forward as I had root & ClockWorkMod already on it, the Note was one of the nastier I've encountered.

Galaxy Note N7000

The Cyanogenmod instructions require a bit of USB driver juggling via Zadig, which I have used before on USB SDR Sticks & USB Missle Launchers alike. This allowed Heimdall to talk to  the Note. Heimdall, which allowed me to avoid using Odin for this particular Samsung phone, let me inject the recovery image into the device.

Or at least it did eventually,

C:\>heimdall flash --kernel zImage --no-reboot

Heimdall v1.4.0

Copyright (c) 2010-2013, Benjamin Dobell, Glass Echidna

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

ERROR: Partition "kernel" does not exist in the specified PIT.
Ending session...
Releasing device interface...

As this Note was bought at Android 2.3, and memories of the 3 or 4 tense reboots needed when I suggested she run the OTA Jellybean update popped into my head.

The cyanogenmod forums mentioned stating KERNEL in uppercase. I have that a try and was told:

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
ERROR: Protocol initialisation failed!

Releasing device interface...

As this seemed to error before even connecting, let alone looking for the Partition, I assumed this was the Downloader getting stuck issue on the How to Guide tips & tricks section.

Persistence payed off as a reboot of the PC and the device payed off.

However, while Cyanogenmod booted without a hitch, from the depths of ROM hell spawned my next adversary...

Yellow Triangle on Boot

The yellow triangle with black exclamation mark pops up on the kernel boot screen when the device detects a modification to the kernel. Obviously a feature to avoid warranty repaired on rooted devices, I wanted to get rid of it, as while long out of warranty, it was just plain unsightly.

Luckily for me Chainfire, one of the most respected developer in the community, has released a tool to fix this, Triangle Away.

While there is no shortness of warnings, are you sure's, confirmation dialogs and telling you know in on uncertain terms, that is can brick your phone, one caught my eye. Advising me that SuperSU, Chainfire's Super User app is recommended. While SuperSU is a bit more feature rich, CM's opensource implementation does the job, and allows it to ship with the ROM.

However, I was going to risk a bricking this far in. Just installing SuperSU did not meet the criteira, and Triangle Away still used the CM root app when launching. However after loading SuperSU as a zip via recovery, the dialog didn't appear.

After a few tense pauses during the process, by Triangle, was in fact away.