[NOW PUBLIC!] Team Codefire Presents: Project FreeGee!
Please note, this is not compatible with the JB OTA - use the app in the Play store instead for now. Thanks!
Howdy all! So, it's time for me to dig out my release thread template... you know what that means?
The LG Optimus G is now unlocked.
Both the AT&T Version and the Sprint Version have been successfully unlocked with this method.
(To answer your question, if you're wondering, we're going to work on the Canadian version next, then the Korean version)
First off, I'd like to write a few words to LG:
Dear LG, a product will rise and fall on the shoulders of it's community.
If you lock a device, and shut out your community, you lose the backing of a very vocal group of people. When you lose the backing of your community, they no longer recommend your product, and you lose money. HTC has discovered this recently.
Please support your development community, we understand product security plays a role here, but ensure that you cater to your community still.
The second you try to fight your development community by locking them out of your products is the second that I will cease to recommend your products.
Keep this in mind, and I assure you that you will find yourself on the top of the game.
With all of that said, let's get back to the goodies.
What is this?!
This is Project FreeGee, silly!
Have an Optimus G ? This project will allow you to unlock your bootloader, and install whatever you want.
How does this work?
For the moment, that is a trade secret. Suffice it to say that we put some ones and zeros in the right places, and good things happen.
This is also my opportunity to say do not allow any OTAs to install without asking if they are compatible. LG could possibly patch this in such a manner that makes it rather hard to ever exploit it again.
I'm a skeptic. I demand proof!
Alrighty, here it is:
Once again, taken with my HTC Vivid, that would rather mute me than let me speak.
Damn "nose elimination"! I am not noise, and I will not be silenced! (mmhmhmhpmhmp!!)
Okay, I'm game. Where do I get it?
Version 0.3 has a confirmed bug-- camera app crashes phone after a few seconds!
If you have 0.3 installed, simply download this, extract the .zip, and extract the .tar file. Inside the freegee-working directory, you'll find boot-att-freegee.img .
Boot your phone to fastboot, then fastboot flash boot /path/to/boot-att-freegee.img
I will release a quick fix .zip for flashing in CWM tomorrow.
Currently, the download is Windows-only. I will make a OSX/Linux/Windows version soon!
Can I flash an OTA after installing this?
No. Flashing an OTA could contain a new bootloader, and it would replace the one we have put on your device. If you flash the new OTA, and it replaces the bootloader but not the boot.img, you could be left in a situation where you could not boot the phone due to a security error. Once you're in that position, the only thing you can do is LGNPST back to stock-- and even then, it is possible that an OTA could enable an anti-rollback feature which would disable LGNPST.
Does this mean I can flash custom ROMs now?
Yes. However, the custom ROM must be made for your device. We're working on a decrapified stock ROM, and AOSP ROMs as well. Be patient for those to come.
Can I install a Nexus 4 system image and boot.img and have it work?
We've tested that, and the answer is no, not yet. Some work needs to be done, but once we figure it out, we'll have a quick and easy AOSP ROM.
Does this mean that we can use the Nexus 4 sources (kernel and android) ?
Short answer: Yes.
This phone is essentially a Nexus 4, with minor differences in GPIOs, memory address space, and partition table layouts.
Kernel source is iffy, since we've got Eco mode and a few other things that actually make me like the Optimus kernel more than the Nexus kernel.
However, this discussion is best suited for a new post.
How can I uninstall this?
I'm working on an easy-uninstall for this as well. Stay tuned for the links...
To enter bootloader, hold volume UP and power.
Upon entering the bootloader, you will notice that there is no 'menu' to enter fastboot or recovery. Unfortunately, since the stars didn't align properly, we were unable to tell the new bootloader where to load the images that contain the menu from.
In light of that, you'll have to navigate the menu blind. Use the volume keys to change selection, and the power key to select.
The choices are (in order of pressing volume down):
Start - boot the phone normally [already selected]
Restart Bootloader - reboot into the bootloader
Recovery Mode - enter recovery (CWM)
Power Off - powers the phone off
So, to get to Recovery, you would press volume down twice then power.
If you have trouble with this, watch my video below for a demonstration.
Please note: this requires root before you can install this! If you haven't rooted your phone yet, now is the time to do so.
Also, ensure that you have ADB drivers installed. This WILL NOT WORK without them.
Before we begin: please make sure you have USB Debugging turned on, your phone is in "Charge Only" mode, and your phone's screen is on and unlocked.
This will allow you to see the root access prompt if your phone asks for it.
Download the .zip from this post
Extract it somewhere on your hard drive
Ensure your screen is on and unlocked
Run the "freegee.bat" script, and follow the instructions. Do not run this as administrator! the install will fail if you do so.
Once the unlock is complete, check to make sure you have a "backups" folder now in the folder where you put FreeGee. If not, DO NOT REBOOT your phone.
Even a failed unlock will still show the 'congratulations you're unlocked!' text, read the output to see if you have errors!
You should not see any "adb.exe not found" errors, or "tar: invalid magic" errors. Those would be errors in the script.
An error which you can ignore is "No space left on device" after it says erasing old recovery and boot. That's just a side effect of how we clear the old images out.
"Mister Cubed, how do I talk to you?"
That's easy! Hop on IRC and join me on Freenode in #lg-optimus-g . I'm in there as IOMonster (or IOMonster_desk, or IOMonster_work, depending on where I am)
There's also a lot of other cool people in there too!
When you hop in IRC, if you've got a question, just ask it. Don't say "halp! i does brick'd my phone, and i dunno wat to does?!!", but rather "can anyone help? my phone is stuck in fastboot mode, and I can't get out of it. I flashed <xyz> and now I'm stuck here."
Asking your full question (even though it might be a long message) helps us figure out the best way to assist you, without us having to lead the conversation and ask all the questions for you.
Also, on IRC (for those of you who have never used IRC) if you say someone's name, it will 'ping' (also called 'highlight') them. This tells us that someone is talking to us. So, if you pop in IRC and say "IOMonster, it worked!", I'll get a notification, and will probably say "that's awesome!" in response.
Special Thanks To!
None of this would be possible without the assistance of the following people:
...and the support of the entire #lg-optimus-g IRC channel
A project like this is really only a sum of it's parts, and in our case, we're over 9,000!
Please make sure to tell someone on this list that they're awesome if you see them on IRC or (*gasp!*) in real life.
All right, that about sums up my post. Did I forget anything? Let me know below...
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?