I've recently got a Tipo Dual (st21i2). It had a Stock ROM installed in it. I wanted to remove it so I did following things in given order.
1. Rooted the phone with Bin4ry's Rootkit
2. Installed custom recovery CWM.
3. Took backup of original ROM
Then I wanted to install a new one ROM & Kernel, so next
4. Using CWM, installed Gimlo firmware & Gimlo ROM 2.0 as explained here. The new ROM was working properly.
5. I took a backup of this newly installed ROM, using CWM.
Then I wanted to install Vengeance Kernel from here. So I tried to install it by using Flashtool 0.9.14.0. Flashtool gave me an error "The phone must be rooted first". At that point I had already rooted my phone.
By doing a little Googling I found out that I had to unlock my bootloader to install custom kernel (I had a misconception that installing custom recovery unlocks the bootloader also).
6. So I successfully unlocked the bootloader using same Flashtool and unlock code from Sony's website. Then,
7. I installed the Vengeance Kernel (again using Flashtool). It installed successfully as per the log. And it installed TWRP recovery with it.
Then after restarting I have got a bootloop. It is stuck at boot animation (custom Xperia Z boot animation). Tried to remove battery and starting it after a while, tried keeping it off for a night, didn't work.
At this point I have the
a) Backup of old ROM
b) Able to load TWRP recovery.
So I'm in a safe place and I can restore my phone.
But still I want to use Vengeance Kernel with Gimlo.
So my questions are
1. Am I doing anything wrong?
2. I read while researching that the correct order of installation is Custom ROM --> Custom Kernel. Is it correct? If not then what should be the correct order?
3. I also read somewhere that after installing ROM --> Kernel, I have to flash the ROM again. Is it true?
4. Is there any better ROM-Kernel combination than the one I am using?
5. Can I solve the bootloop without having to Restore/Install again? (Maybe by wiping caches or any other option in recovery, I don't know what those functions actually do so I didn't try anything).