[Nexus One Q&A, Help & Troubleshooting] c2med:
I initially looked for a complete update guide on here and eventually found all the information I needed, but it was in multiple places and sometimes hard to find. After getting everything installed on my N1 I thought I would write a guide for other noobs like me that want to try out ICS or JB but would like a step-by-step guide. I hope that it is helpful. SpazeDog ROMs (both ICS and JB) are working wonderfully on my N1 - its a very nice update from CM7 with only minor issues so far.

Note: this was initially written specifically for SpazeDog roms, but as they have not been updated in a while I have provided links to other popular roms as well. If you would like to try a different ICS or JB rom this guide should work, just substitute with the appropriate rom and depending on the one you choose, you may also need to install Google apps.

If you looking at this guide and don't know the basics yet, check out the Newbie Friendly thread first.

Links to popular roms that will work using this guide:

Evervolv JB 4.2

Evervolv JB 4.1

CM 10, JB 4.1.2 by vijendrahs

CM 10, JB 4.2.1 by vijendrahs

Spazedog ICS/JB

Disclaimer: This guide involves making changes to your phone that potentially could brick your phone leaving it unusable. I am not liable for any changes you make or problems you may have with your phone. You should at least be familiar with entering commands using command prompt. This procedure will erase ALL the data on your phone. Make sure you have a backup of everything. A nandroid backup is highly recommended. Proceed at your own risk.

Before we get started make sure you have the following: a rooted Nexus One, a USB cable to attach your phone to a computer, and the Android SDK. If you are just now installing the Android SDK, open the SDK manager and make sure to install the "Tools" and in "Extras" the "Google USB Driver" are checked off and download them. Alternatively, you just download ADB and Fastboot (search this forum or google). If you have a Mac see this thread to get started with ADB and Fastboot.

If you Nexus One is NOT already rooted, then follow this guide from Cyanogenmod to root your phone. If you plan to use the adb commands below (they are optional) make sure you have usb debugging enabled: go to "Settings" → "Applications" → "Development" → enable "USB debugging."

Step 1 - Download everything you will need:

4EXTRecovery Updater - the first link will download the .apk to your computer or phone.

BlackRose - go down to bottom of the first post to "Attached Files" and download the latest BlackRose zip file. If you don't want to do it yourself, check out this thread to flash a pre-made partition scheme. Often the developers (Evervolv) will also have a partition schemes that you can flash via Fastboot from your PC as well.

Your rom of choice - go to the downloads section and choose which rom you would like to try. Download the zip installation file.

Since you will be decreasing the size of your partition that apps can be stored on consider something like Mounts2SD or AD2SDX to move apps to your SD card.

Step 2 - Install and use 4EXTRecovery Updater on your phone:

The easiest thing to do is go to the 4ext link above, download and install it, directly from your nexus one. You can also install it by copying the APK file to your SD card, then using a file manager to find it and install it or you can use command prompt by opening command prompt, cd to the location of the Android SDK tools, and then type in the following command (replacing "path" with the path to where the APK is located on your computer):

adb install /path/4EXTRecoveryUpdater.apk

After you have installed 4ext open the 4EXT Recovery Updater. Tap "Settings" → "Allow" superuser request → "Yes" to connect to 4ext to get new data. Now select "Online install/upgrade" → "Yes" assuming it detects your nexus one correctly → select and install the latest 4ext recovery (at the top of the list).

After 4ext has installed, it will have placed a recovery image on your SD card - find it (its called recover.img) and it should be located in SD/Download/4EXT_Recovery_Touch/ folder. Copy this to your computer in case something goes wrong later and you need to re-flash the recovery image!

After installation of the 4ext recovery turn off your phone and boot into recovery by turning off your phone, turning it on again while holding the trackball down. This will boot into the bootloader, then press the power button once, use Volume Down to select "recovery" and press the trackball to select. Alternatively you can use the command prompt:

adb reboot recovery

Your phone should now boot into the 4ext recovery menu. Before moving on make sure you have any important stuff backed up because you are about to erase your entire SD card! Select "tools" →“partition sd card” → “remove all partitions and start from scratch.” Then for the 1st partition select “1024″ for a 1GB partition (this will be where ICS will be able to put your applications & data). Select "skip" for the 2nd partition and for the swap partition. Finally select the system “ext4″.

Step 3 - Copy the Evervolv, SpazeDog, or whatever zip installation file you have chosen to your phone's SD card

Download the ICS or JB zip file above and copy it to the root of your newly formatted SD card.

Step 4 - Installing and using BlackRose to resize the system partition:

Download the BlackRose application and install it on your computer. (Alternatively people have made flash-able partition schemes that you can just flash from your PC - usually links and instructions are provided in the installation rom's thread, Evervolv's here. If you do have access to a computer you can check out this thread).

Make sure your nexus one is attached via USB to your computer.

Open the BlackRose application - it will install and reboot your phone. Then follow along as shown in this video to resize your partitions for a JB ROM.

If you plan to install the ICS rom then use the video above as a guide but use the numbers (sizes) for the different partitions as indicated below.

After BlackRose has installed you will need to restart the application. After it has started up and recognized your device select "apply stock/custom blackrose" by typing in 1 and enter.

Then select "custom blackrose" by typing in 2.

Then type "resize" when prompted.

Now you will need to change the sizes of the system partition to 220 for ICS or 260 for JB.

Change the cache size to 8.

Finally name the new system partition, either "ICS" or "JB" depending on what you plan to install.

Note: some people have reported having problems getting into recovery at this point (if not move on to step 5). If that happens, luckily for you, 4ext put a recovery image in the downloads folder of your SD card and if you did what I said in step 2 you saved it. Try reflashing that recovery image using fastboot (remember the one that was in SD/Download/4EXT_Recovery_Touch/ and was named "recovery.img"). Put your phone into the bootloader by turning off your phone, turning it on again while holding the trackball down. To reflash the recovery open command prompt and cd to the location of the Android SDK tools. Then type in the following command (replacing "path" with the path to where the recovery image is located on your computer):

fastboot flash recovery /path/recovery.img

If that does not solve your problems (inability to get into recovery) then I would recommend going back to the cyanogenmod wiki and installing Amon_Ra's recovery. Then you can use it to flash your installation zip.

Step 5 - Install JB or ICS:

Now turn your phone off and boot into recovery as you did in step 2.

4ext will load. Select "wipe/format" → "format all partitions (except sdcard)" and then also "wipe data/factory reset."

Now go back and select "install from sdcard" → "choose zip from sdcard" → and then select the ICS or JB zip you copied to the SD card in step 3.

Now either the ICS/JB installer will load or it will just install in one step. Just follow the prompts to install and enjoy.

Depending on the ROM you chose you may need to install Google apps (see the specific ROM thread for details) and will also likely want to flash an apps-to-SD script as mentioned above so you do not run out of space.

This method worked perfectly for me, hopefully it will work well for you as well. Enjoy.