[HOWTO] Installing ICS on HTC Google Nexus One

I am a proud owner of the amazing HTC Google Nexus One and I was as disappointed as anyone else when Google announced that the N1s will not be getting ICS or any update after that for that matter. It took a while for the Android community to come up with an ICS port for N1. There were many challenges that the developers had to face before a ROM was made available to the public.

There are many custom ROMs available on the internet, but the best one I found was Evervolv which was ported to N1 by ‘TexasIce’ aptly called TexasICS. I selected this ROM because of the popularity it received on the xda-developers thread.

I have rooted my N1 earlier and am not new to flashing custom ROMs on my N1 (I had used CyanogenMod, pity that they on’t have an ICS port for N1 yet). I started going over the thread and tried to figure out the way to flash Evervolv’s ROM onto my N1. As I digged deeper, I realized that the steps I had to follow were no where easy compared to what I did when I flashed my N1 with CM7. There were some major changes to the way the system partition was setup so that ICS could fit into it. It also needed an all new hboot with a custom system partition layout. I figured out the whole thing by researching the xda-developer threads and had my N1 running ICS.

I found the steps to be quite complex and figured there might be many more N1 owners who would want to get ICS on their N1s. A WORD OF CAUTION: The steps I describe below is what I followed to flash TexasICS rom on my N1. I didn’t run into any situations resulting in my phone getting bricked. However, I cannot guarantee the same for any of you. All I want to say is that proceed with Caution. If you run into any issues, there are ways that can be found on the web to restore the N1 back. If I run into any such situations, I will post on how I figured the way to restore back my N1. 🙂

Firstly it is required that your N1 is rooted. I wont’t go into detail about how to root the N1. This link is a good place to start researching about it. There is also hundreds of other links describing how to do the same. Secondly, you should have the android SDK installed (just the platform-tools are sufficient) and the PATH variable (on any OS) be updated so that ‘adb’ and ‘fastboot’ can be found.

  • Download the list of items below:

    1. The latest ClockworkMod (CWM)

    2. BlackRose (Manual)

    3. TexasIce’s custom partition scheme for BlackRose

    4. Latest TexasICS zip for flashing

    5. Latest gapps package

    Put all of these under one single folder for easy access (c:/nexus_one/). I have done this one windows and hence I will use the commands accordingly. The procedure should be same for Linux of Mac.

  • Boot the phone into bootloader. To do this, switch off the phone, press the trackball and then press the power button until a white screen comes up with colored text. On the computer type:

    $ fastboot devices

    to confirm if the device is connected. You should get an output like:

    Hxxxxxxxxxxx    fastboot

    Now flash the CWM and reebot back into bootloader.

    $ fastboot flash recovery recovery-clockwork-

    The phone will boot back into bootloader.

  • Now we take a backup of the data on phone. To do this, on the bootloader screen select (scroll using volume up/down keys and press the track ball to select) ‘BOOTLOADER’ from the list visible. In the next screen, select ‘RECOVERY’. After a few seconds the phone will be in the recovery mode. From the list select ‘backup and restore’ and from the resulting screen select ‘Backup’. This will backup the contents of your phone. This is required to be done as the next set of steps which will flash the rom will result in a complete wipe of the data. Once the backup is complete, go back to the main menu (using the power button), select ‘mounts and storage’ and then select ‘mount USB storage’. The memory card will be accessible on the PC to which the phone is connected. Copy the CWM backup to the local hard disk. Once the copy is complete, ‘Safely Remove’ the mounted volume from the PC and then from the phone screen select ‘Unmount’.

  • In this step we wipe your complete phone. While in recovery, select ‘wipe data/factory reset’, select ‘Yes’ from the resulting list. Then from the recovery main menu (use power button to go back), select ‘wipe cache partition’, select ‘Yes’ from the resulting list.

  • We will also now format the SD card ext partition so that it can be used with a2sd (move apps to SD). To do this, from the recovery select ‘Advanced’, then select ‘Partition SD Card’. Then select 1024M for Ext size and 0M for Swap size. Once the format is complete, power off the device.

  • Now to install BlackRose, boot the device into bootloader. On the command prompt in the PC go to the location where the BlackRose was extracted along with TexasIce’s custom hboot scheme and type the following commands:/

    $ fastboot-w.exe boot go2.lol
    $ fastboot-w.exe flash hboot hboot_blackrose.nb0
    $ fastboot-w.exe flash hboot hboot_220-16-200.nb0
    $ fastboot-w reboot-bootloader

    After the last command, the phone will boot back into bootloader and a text saying ‘*** BlackRose ***’ is shown at the top of the screen.

  • Since we have a new hboot now, the recovery has to be flashed again. Follow the instructions given above to flash the CWM again.

  • Once the recovery is flashed and phone is booted back into bootloader mode, select ‘BOOTLOADER’ and then select ‘RECOVERY’ to enter recovery. From the recovery screen select ‘mounts and storage’ and then select ‘mount USB storage’. On the computer copy the downloaded ROM zip onto the SD card along with gapps package if you wish to flash that too. Once the copy is complete, ‘Safely remove’ from the PC, select ‘Unmount’ on the phone and then go back to the main menu in the recovery.

    From the main menu select ‘install zip from sdcard’, then select ‘choose zip from sdcard’. Now first select the ROM zip and select ‘Yes’ from the resulting screen. This will take a few minutes and flash the ROM onto the phone. Now select the gapps zip from the list and flash that too.

  • Before rebooting, optionally you could install the Tiamat kernel for N1. More information and download details can be found at the tiamat-dev webpage. Once you have downloaded the zip for the kernel, copy that along with the ROM zip and gapps zip onto SD card and after those two are flashed, select the Tiamat kernel zip to flash it. If you find any issues or are unable to boot with this, you can revert to the previous kernel by flashing the package found here. This is the same kernel that’s included as part of the ROM image you flashed earlier, refer to this thread for more information and changes on these.

  • Reboot the phone now. The first boot will take longer as the Dalvik cache has to be rebuilt. Once the boot is complete, your N1 should have ICS. 🙂

Hope this is helpful. Please comment if you need any clarification/correction in the procedure and share your experience as well.





  1. After typing
    “fastboot-w.exe boot go2.lol”
    the phone just sticks at the Nexus X screen, and doesn’t boot into anything.
    So it’s not possible for me to enter “fastboot-w.exe flash hboot hboot_blackrose.nb0” and continue

    1. I saw that too, only thing I did then was to wait for a minute and remove the battery to restart. I continued with the next step and everything worked ok. Perhaps I will update the post with this.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: