|This week-end, I decided to upgrade my “old” Nexus One smartphone to the latest (and greatest) Android version (4.1.1 aka Jelly Bean) although Google stopped shipping upgrades for this phone with Android 2.3, aka GingerBread. So, as you guessed, it requires to “root” the phone, i.e. to bypass system protections and to allow to install new software on it.The Android developer community is very active, there are a lot of information available on the web to do so, sometime somewhat cryptic, and not really step by step instructions.I am quite used to do this on iPhone, since several years now, but I am totally new to this on Android. I am using this blog entry to remind me the steps I took and – hopefully – to help others to decrypt existing tutorials. This is by no mean a complete step-by-step tutorial for rookie, rather a complement to the tutorial you will find on the net.Jelly Bean for Nexus One is made available by TexasIce on XDA Forums. Many thanks for the great work !Existing tutorials are available (part 1 and part 2) but I followed a quite different path.|
Step #0 : be sure to have the lastest Android SDK installed.
Step #1 : Install Black Rose bootloader. Although theoretically possible, I couldn’t manage to do this from Mac OS X. Black Rose distribution provides a Linux and Windows binary to automate the process to the maximum. Just launch it as root, look at your screen, wait for a couple of reboot … done !
I lost an hour because I did not start Black Rose as root on linux and it blocked during the process on
<waiting for the device>.
Be sure to start Black Rose as root !
I used a Virtual Machine with Ubuntu Natty and attached the Nexus One USB to the Virtual Machine – worked like a charm.
Step #2 : apply a small patch to HBoot, required for Jelly Bean
adb reboot bootloader fastboot flash hboot hboot_jellybean_260-8-168.nb0 fastboot reboot-bootloader
You should see “Jelly Bean” on the second line
Step #3 : Flash Jelly Bean. I downloaded the TAR file (not the ZIP)
First wipe out everything from the device
fastboot erase userdata fastboot erase cache
Then flash the system
tar -xf <release>.tar.xz fastboot erase system fastboot flash system system.img fastboot erase boot fastboot flash boot boot.img
Step #4 : Install Google App.
At this stage, Jelly Bean should start on your Nexus. It took me a while to realize that Google Apps are not installed by default. Consequence : Contacts are not synced with your Google account and – most importantly – no Google Play ! So it is not possible to install additional applications. You’ll have to install them yourself to get access to Google Now, Google Accounts (and synchro), Maps and Google Play !
Apps are available on XDA Forums as well (GApps 7/13 at the time of this writing)
Step #4.1 : I installed GApps using a custom recovery application : ClockWork. Download and installation instructions are here.
Step #4.2 : reboot in recovery mode to access ClockWork, then
use the menu system to put the Nexus One in USB Storage mode
- Copy GApps.zip to the flash card
- Use ClockWork’s menu to install GApps
and voilà you should have Jelly Beans + Google Apps running on your Nexus One.
A few things are not working so far :
- the Camera
- the trackball button to wake up the device
But the package is alpha software, so do expect updates and improvements in the coming weeks
I upgraded with 20121113 nightly build (resuming my procedure from Step #3). I used the simplified update with
Also, clockwork do not need to be re-installed, it still lives in the recovery partition.
The system is much more responsive. The camera and trackball button work as expected.
I also used M2SD to move app to SD card. (be sure to partition the card as required)