[INFO][LG P920/SU760]Recoveries: GB or ICS? Bootloaders. Recovery loop.
As of 28/12/2013, I no longer have this phone. My threads will stay open for all who want to assist others. I've had a great time being a member of the O3D community, so thank you all!
For questions, requests or any other remarks, please don't send me PM, I will not answer. Instead, please post properly in the thread, so that anybody can read and benefit or even assist.
Should I use GB or ICS custom recovery?
A lot of people have been asking which is the right recovery to use with their ROM. There is a lot of misconception in this area. Even the question in the title is wrong cause there's no such thing as a GB or ICS Recovery! So, let's clear things up:
It is important to know that recovery is independent of the Android version you are using. It only depends on the device you have. ICS recoveries are mistakenly
called that way because they are compatible with the ported SU760 partition table which happened to be the first ICS for P920. So, to be correct, instead of GB and ICS, we should be calling them P920 and SU760 recoveries respectively.
To be more specific, SU760 (ICS) recoveries look for the Internal SD in partition 16 of the partition table, whereas P920 recoveries look for it in partition 15. This is actually the only difference between the two. All other functions are exactly the same. The problem is that if you use the wrong recovery, it won't be able to read your internal SD, simply because it will expect to find it in the wrong place!
You use a P920 (GB) recovery no matter if you are running official LG Gingerbread, CM7, official LG ICS (v28b, v30a), CM10, CM10.1 etc. as long as you have a P920 partition table.
You use a SU760 (ICS) recovery only if you have a true Korean O3D, if you are using XBSA ported ICS, or any other ROM on top of that partition table.
And one more thing: Xbsall's large partition is NOT
SU760. It is standard P920, just larger!
2nd init recovery:
Now, since I mentioned Xbsall, to make things a little more complicated, I should mention that prerooted Xbsall's ROMs come equipped with Milaq's 2nd init recovery. This is "hacky" way to have recovery installed in the system partition instead of the normal recovery partition. This has the advantage that it is compatible with stock ICS bootloaders. So, if you have 2nd init recovery, you don't need to install Wkpark's bootloaders, but you must never format your System partition because you'll wipe your recovery with it!
This brings us to the bootloader discussion. GB bootloaders were unlocked, so there was no problem running custom recoveries or kernels. Stock ICS bootloaders (both P920 and SU760), on the other hand, are locked and won't accept any recovery (except 2nd init) or kernel other than stock. For this reason, if you have flashed ICS, you need to flash Wkpark's v1.25a unlocked bootloader. It doesn't matter what you flash first, as long as you flash both bootloader and recovery.
The trade with Wkpark's bootloaders is that, because they were built for the SU760 (Korean O3D), there are minor problems when using on the P920. When you shutdown your phone, it turns back on by itself. If you remove your battery, as soon as you put it back, the phone will turn on. You can only shut the phone off if you keep power pressed for about 10sec. Then, while the phone is finally off, if you plug it to a charger or to a PC via USB, it will turn back on! In my opinion, this is problem is really minor and having unlocked bootloaders is totally worth it!
Another problem that may arise from the use of custom bootloader and recoveries is the "Recovery Loop". If you use, for example, ROM Manager to Reboot to recovery or if you use the "Factory Reset" menu option in Android settings, your phone may keep rebooting to recovery, even if you select to reboot to system. This happens because the "Recovery Flag" doesn't get properly cleared. I don't know where this flag is located, so I can't force it to clear, but there is a workaround!
1. Download P920_ICS_RecoveryLoop_Breaker.zip
to your computer. If you are using stock ICS (or a custom ROM with stock ICS Kernel) keep it as it is and jump to step 4
2. Unzip the loop breaker and replace the file "boot.img" with the one from the CustomROM.zip or the CustomKernel.zip you are using.
3. Zip up your modified LoopBreaker.
4. While your phone is in recovery, connect it via USB, select to mount SD to computer and copy the zip to the phone. Eject from computer.
-- (Alternatively, if you have a Card Reader, you may put your ExternalSD card directly to your PC and copy the file)
5. Flash the zip and reboot.
6. After you boot to Android, you need to flash your custom recovery again because this procedure has wiped it.
This workaround won't work without Wkpark's bootloader.
Big thanks to lzzar
for giving me the idea how to break the loop!
WARNING: THIS LOOP BREAKER IS FOR THE LG OPTIMUS 3D (P920/SU760). USING IT ON ANY OTHER PHONE WITHOUT PROPER MODIFICATION WILL MOST PROBABLY BRICK IT!
I hope I have helped you understand a few things about your phone. So, now that you have a better understanding, go ahead and flash the correct recovery and bootloader. One easy way is OS_Hacking's Tool
Flash away folks!