How to Unlock the Nexus S Bootloader
I know that I recently went on record saying that I was happy with my Samsung Captivate, and that my main interest in Google and Samsung’s Nexus S was in the mod community reverse-engineering it to use with the existing Galaxy S line. That is, until I went out and got one. There’s a lot I could say about the smartphone, review-wise; I’m not here today to do that, though.
What I do want to do is help out anyone that purchased a Nexus S and wants to unlock it. I mean, after the Android Developer's Blog all but told us to go out and do just that, why shouldn’t you? Well, because it’s a hassle. Information on rooting the Nexus S is fragmented, to say the least. Many of the how-tos are missing crucial (yet assumed) steps that will leave you frustrated. Luckily, you’re unlikely to brick a Samsung phone like you might brick a Motorola, so it’s less a permanent damage situation and more just an annoyance.
WARNING! Jailbreaking or otherwise hacking any smartphone can unlock magical powers, but it can also cause serious damage to your phone--i.e. rendering it a very expensive paperweight--so perform any phone hack at your own risk. Don't say we didn't warn you.
You’re going to need to install at least a trio of things:
- Java SE SDK: Install this first. It’s a prerequisite for the Android SDK, and it’ll make your life easier. It has a downloaded piece, so it might take a while if you're on a slow internet connection.
- The Android SDK: Also has a downloadable piece, because as soon as you unzip the contents and run SDK Manager you’ll want to check for updates and install just about everything. Also note that inside the .zip are two Tools directories; one in the main folder and one inside Platform. "adb" is in the main Tools directory, and fastboot is in Platform/tools/--this will be important later. (To be honest, I copied Platform/Tools into Tools and had no issues at all)
- PDANet installer: When you fastboot the phone, you’ll need these drivers in order to do some flashing. Also, you’ll be able to use USB tethering to give your PC Internet access through the phone after this--a cool bonus.
Once you have everything unzipped, pick up your phone for a moment. You’ll need to have USB debugging turned on for this to work. Go into Settings > Applications > Development, and tap USB Debugging to turn it on.
Just a reminder before I continue: You should have the PDANet drivers installed by this point; otherwise you’re on the cusp of frustration (I didn’t have them installed the first time I attempted this hack). You'll get some warnings about unverified drivers; this is fine, install the PDANet drivers anyway. You don’t need to run the application (it conflicts with adb); just install it.
You should have installed the Google USB Driver Package from inside the Android SDK application (it’s one of the main options), so you should be all set to plug the Nexus S into your computer. Nothing should happen on the PC, do not enable USB storage on the phone. Right click on My Computer and go into Manage, and then Device Manager. In your Other Devices section, you should see your Nexus S with a little yellow exclaimation point. Right click on it, and select Update Drivers, pointing to where you installed the USB drivers.
Here’s the old-school part: go into a command prompt by hitting the start button and typing “cmd” (no quotes) in the search field, then pressing return. This will put you in C:\users\yourusername in Windows 7. If you unzipped the Android SDK into C:\android, for example, now type “cd ../..” to put yourself into the C: base folder, and then type “cd android” to put yourself into the SDK folder. If you unzipped it/named it something else, just substitute it for the above.Type “adb devices” (no quotes) at the prompt and you should be greeted with a serial number. That’s a good sign. If you don’t see that, you’ve skipped a step somewhere.
At this point you can type “adb reboot bootloader” (no quotes) into the command prompt window and press Enter; your phone will then reset into fastboot mode. It should install the drivers automatically from your PDANet installation. If it says “waiting for device” the PDANet drivers were not successfully installed.
Now you can put in the good stuff: “fastboot oem unlock” (no quotes) into the command prompt, then press return. If you didn’t copy the contents of platform/tools into tools in the main folder, you’ll get a "command not found" message as I stated above. If you did, your phone will throw up a warning about unlocking and voiding warranties. Tap Yes on the phone, and your command prompt will echo OK, and tell you how many seconds it took you to decide to void your warranty (it took me something like 15.234 seconds). That’s it. You are now the proud parent of an unlocked Nexus S!
Rebooting from there you will notice a new icon on your bootscreen--a gray padlock in the unlocked position at the bottom of the screen. From here you can install Clockwork Recovery Mod and go through with rooting your device in order to prepare for custom ROMs like Cyanogen (which has an alpha out for the Nexus S already). Be careful if you take this last step, but be brave. The world is your oyster.
Given that you’re now using an unlocked phone, do you intend to root it? I do, and I’ll be sure to post again details and the journey to make it happen. If you’re going to go along for the ride, let me know in the comments!
Like this? You might also enjoy...
- The 10 Best Hacks of 2010
- iPod Nano Hack Lets You Remove Apps; World Eagerly Awaits Jailbreak
- Reverse-Engineering the Nexus S