[LG Optimus 2x] aragorn7:
Update (2/4/13):The instructions listed below are somewhat dated now. While instructions here are still valid,

if you are on the old bootloader

, you can now automate these steps using wkpark's excellent CM10 patcher found here: http://xdaforums.com/showthread.php?t=1971350. Also Di HarD has tested and confirmed that Dovakhiin 1.1.1, ICS 4.0.4 v30a custom also works with wkpark's patcher (see http://xdaforums.com/showpost.php?p=37567725&postcount=50; thanks Di HarD!)

Update (1/13/13): NOTE: These instructions are for those on the old bootloader.

Update (9/18/12): New SU660 kernel now available for CM10. See here: http://xdaforums.com/showthread.php?t=1893328

Update (9/2/12): For tonyp's ParanoidAndroid ROM, you can do all that is described here automatically using a SU660-specific ROM with a single CWM flashable zip. See here: http://xdaforums.com/showthread.php?t=1865233.

-------------------------------

Friends,

I've been getting multiple PMs lately asking how I have P990 roms installed on my SU660. For the SU660 users in this community, I'll use this thread to write up a short guide on how to do so and to provide tips. Feel free to post questions here (or here if you don't have enough posts yet to post here at the dev section)

How to install

P990

custom roms on SU660.

(warning: Do not use P999 ROMs -- the hardware is too different with the SU660).​

:

1. Download your ROM of choice.

2. Remove the P990 assert (if it exists) in the ROM's updater script prior to install:

Edit the following file inside the flashable zip file

/META-INF/com/google/android/updater-script

Comment out the first line by adding "#" (without quotation marks), so that it looks like something like the following:

[COLOR="Red"]#[/COLOR]assert(getprop("ro.product.device") == "p990" || getprop("ro.build.product") == "p990");

Re-package the zip file. I use 7-zip in Windows or the default archive manager in Ubuntu.

3. Flash install your modified ROM of choice.

4. Flash SU660-compatible kernel

For JB/CM10 roms, sadly, none available at the moment, try the following 3.0.42 kernel:

http://xdaforums.com/showthread.php?t=1893328

For ICS/CM9 roms, try wkpark's 3.0.8 kernel:

http://code.google.com/p/openstar2x/downloads/detail?name=boot-cm9-for-su660-3.0.8-120322.zip

For CM7/MIUI roms, try wkpark's 2.6.32.57 kernel:

http://code.google.com/p/android-ha...te-120605-open2x-2.6.32.57-1.1-dev-cm7-r4.zip

OR, a P990 kernel. (only for ICS)

(e.g. Harsh's among others),

PROVIDED

that the custom ROM you're flashing has soft key navigations (see below).

NOTE: rotation would be incorrect in such a setup of a SU660 with a P990 kernels (e.g. rotate 90 degrees, and it will behave as rotating 270 degrees; observed the same phenomenon in harsh, jarvis, and nova ICS kernels). I don't know of a good workaround -- I just turn off rotation when I use p990 kernels.​

ICS/JB ROMs with Soft Key Navigation​

The following are the ICS/JB ROMs that I tested and know have soft key navigation option (which would allow use of P990 kernels in SU660 phones):

tonyp's CM10 ParanoidAndroid (all builds)

tonyp's CM9 ParanoidAndroid #12

owain94's CM9 Domination #80

To turn on (or off) the soft-key navigation bar, go to

Settings - System - Navigation bar

My Current Set-up​

Phone: LG-SU660 Optimus 2X

BB/RIL: 1120 (V20j) matched - see here and here

As of Sep 20, 2012

ROM: tonyp's CM10 ParanoidAndroid Build #4

Kernel: 3.0.43-120920

As of Sep 13, 2012

ROM: tonyp's CM10 ParanoidAndroid Build #2

Kernel: Harsh-3.0.42-OC-0509

As of Aug 23, 2012

ROM: tonyp's CM9 ParanoidAndroid#8

Kernel: Harsh-3.0.39-OC-0208
​

Credits and Final Comments​

Actually, parts of this was posted before (http://xdaforums.com/showthread.php?p=29557692#post29557692). I thank jalal.mustafa for that initial conversation and especially tonyp for the encouragement to address the issue (and requesting the mod to make this a sticky! :D). It is conversations with them (along with the aforementioned recent PMs) that provided the inspiration for this guide. (Thanks guys!). Finally, thanks also to the many good folks over at a Korean forum (http://cafe.naver.com/op2x) who taught me how to remove the assert.

And

please, please, please!

apply all the necessary safety measures before trying out these steps (e.g. familiarize yourself with using CWM recovery, nandroid backup etc.) so that you will have a fallback plan if it soft-bricks your O2X.

For those of you who do not have enough posts yet to ask questions or make comments here, I have another thread in the "General" section just for you: http://xdaforums.com/showthread.php?t=1850281

Let me know if you need further help. Good luck and happy flashing!