I have my Nexus One for more than a year. Although its stock OS (Gingerbread) is quite outdated, I still overall love it. But I must admit that it’s quite outdated OS now. So, I decided to upgrade this to Android Jelly Bean with hope to learn a lot during this process.
First of all, please note that this is not a guide to how to install Jelly Bean on Nexus One. If you are looking for one, search on the web, and you will find dozens (if not hundreds). FYI, I read many, but referenced the following two mostly:
Here are the mains steps I used:
1. Unlocking your Phone
It’s basically unlocking your phone bootloader. this is required because if your bootloader is locked, you can’t replace your recovery image, you can’t flash a custom ROM, and you can’t edit your system files. So we have to do this before the fun start. Here is a quick guide on how to do this (just follow the “Unlocking the device” section):
Note: Unlocking the bootloader on a Nexus device will automatically wipe all device data.
2. Rooting your Phone
Once you have unlocked the Phone, the next step is Root it. Rooting is the process of allowing you to run your device with root-level permissions i.e. allow Superuser permissions. This gives you as a user to perform all the permissions including deleting the files required to run the system. While you normally wouldn’t do this, you can still do this. The main reason for Rooting is to give you additional control while in the Android to setup the Custom ROMs.
For the rooting, you can use either install the CyanogenMod custom ROM for your device (as in the above link), or you can try some application which exploits the Android OS vulnerability to root it. I tried the OneClickSuper application, and it worked for me. So you can try it as a simple alternative too. This application interface is quite straightforward, but if you have any confusion, there are plenty of tutorials available.
3. Install Custom Recovery
Recovery refers to the dedicated, bootable partition that has the recovery console installed. This is used to detect and load the Android OS from the main partition. Plus this also has supports some basic commands/options to restore your system in case of any problem. The stock recovery is pretty basic, and don’t have much options. Specially the stock recovery doesn’t allow you to do the installation of the custom ROMs and do backup/restore.
For installing custom recovery, there are two possible ways. If you like Geeky style, then you can do this manually by following this tutorial (follow the “Installing recovery using fastboot” section):
There is also a simple way, that I followed, and that’s to install the CyanogenMod Recovery using ROM Manager. Here is very simple tutorial on this:
4. Partition you SD Card
The next step is to reparation your SD Card so that the applications can be installed on your SD Card. This way you can leave more RAM for the system applications. I think this is required (but not very sure) to install large size ROMs like Jelly Bean. Anyway, as this was simple process, I decided to do this anyway.
For this, again there are two ways. First is geeky way and it’s to use the 4EXTRecovery to install custom recovery and use it to partition the SD-Card. Here is a good tutorial on this:
Another, simple one is to create this partition using ROM Manager. Again, as I have the ROM Manager installed, so I use this option. Here is a tutorial for this:
Warning: After doing the above step, I got the famous Android boot failure (Android with Exclamation sign). To fix this, I booted in to Recovery mode, and Cleared the User-Data. This fixed my problem.
5. Partition your Internal Memory (HBoot)
To Install the Jelly Beans or ICS, you need to first resize the internal memory (called HBoot). This is because the new ROM size for the JB or ICS is so big that it will not fit on the default partition created for the Gingerbread on Nexus One. Different ROMs require the different HBoot size. I was planning to use CM10.1 VJ Jelly Bean 4.2.1 and this requires 250 HBoot. So next step is to re-size the partition. This can be done by BlackRose.
Warning: In case after the above step you can’t load into recovery. You can fix this by flashing your recovery image again from the fastboot mode.
6. Install your Custom ROM
Once all the above is done, you are ready to install your custom ROM. For this download it, and place it on your SD-Card. If you forgot to do this (like I did) before formatting and erasing your system. You can mount the SD Card from the Recovery too (if you are using CyanogenMod recovery. Once you are in the recovery mode, do “wipe data/factory reset” and also wipe all paritions except the sd-card. Then select update from SD-Card, select the new ROM ZIP file. This should start the installer. Cross your fingers while it finish the installation and do the booting.
If everything went well, then you will see your new Android OS. I’m using Jelly Bean and it’s really great. There are still few (but minor) display issues, but overall it’s fully functional. The best thing is that as soon as I signed in with Google Account, all my contacts and applications were restored. So, the system is back in running state in an hour or so.
I like the new Jelly Beans OS and overall functions. However, I didn’t find the booting animation that cute (sorry CyanogenMod designer). Fortunately, there is simple way to change that too. Here is the one I tried:
The setup is simple. Just download the flashable version of the animation. Place it on SD-Card. Boot to Recovery mode, and simply flash the new animation. Enjoy the new elegant animation.
If you try this, please do a very thorough reading of all the above articles (and any other articles you can find on web) before trying any of this. The key is to make sure you know what you are doing. If you are not sure, read more or post questions to experts (I’m not expert). Good luck!