[Nexus One Android Development] nobodyAtall:
Introduction

This thread describes an experimental mod that allows you to boot into other boot images stored in your sdcard.

The N1 does not have enough internal memory to store more than one android image, thus we have to use the sdcard for this.

NOTE:

This mod is experimental, and for advanced users only

Requirements (READ THEM CAREFULLY):

- A rooted and unlocked phone

- A FAST enough sdcard. This mod will work with any sdcard but I'd suggest at least a Class 4 card for performance reasons

- Your sdcard should have enough free space. Each 'boot option' that you create reserves 400MB of space in your sdcard

- In order to create a new boot option, you need a flashable zip over CWM of the ROM you wish to boot to. The flashable zip of the ROM is the same that is used for usual ROM installation. Also the zip should be using the latest update-binary format as is scripted in updater-script (e.g. the mount command takes 4 args, etc.)

Advanced Information regarding the process

- The mod requires a boot.img that is flashed by the zip. This is used for extracting the ramdisk, commenting out the mount mtd commands and using this ramdisk for chrooting into the ROM environment

- If no boot.img is existing, the ramdisk is picked up from /sdcard/ramdisk/

- The kernel used for booting all boot options is the one installed in the phone's boot mtd. This means that you need the respective kernel modules (e.g. WiFi) for this kernel, not the one that is bundled in the ROM that is multibooted. For example, if your main ROM is CM, pick the kernel modules from this one and push them to the multibooted ROM's /system/lib/modules/

Multiboot mod Installation

Download: N1_CWM-4.0.0.5-nobodyAtall-r2.img

Install via fastboot

Copy N1_CWM-4.0.0.5-nobodyAtall-r1.img to a location where fastboot can find it.
Boot your phone into fastboot mode (power on while holding the trackball)
Connect your phone via usb
fastboot devices (to make sure that fastboot "sees" your phone)
fastboot flash N1_CWM-4.0.0.5-nobodyAtall-r1.img

Install via adb

adb push N1_CWM-4.0.0.5-nobodyAtall-r1.img /sdcard/
adb shell 'flash_image recovery /sdcard/N1_CWM-4.0.0.5-nobodyAtall-r1.img'
adb reboot recovery

Multiboot ROM Installation

- Boot into the recovery and navigate to the new 'multiboot' menu. There you'll see the following options:

Boot into selected option!

Select default boot option

Unset default boot option

Create boot option from zip

Delete existing boot option

Flash zip to boot option

- Select multiboot->Create boot option from zip and then pick the flashable ROM zip. Be patient, this step reserves the space and flashes the selected zip to the system.img in the sdcard

- If you need to flash additional zips for this ROM, Select multiboot->Flash zip to boot option, pick your newly created boot option and then pick the zip you need to flash.

- Select multiboot->Select default boot option and pick your newly created boot option

- Select multiboot-> Boot into selected option! (first boot will take some time depending on your sdcard speed).

To verify you have booted to your newly created boot option, check 'adb shell mount', it should say that /system /data and /cache is mounted from /loop* devices and not from mtd*

ROMS verified to multiboot

Well, any ROM should be able to multiboot provided the requirements stated above are covered. The following ones have been verified to work:

[ROM] CyanogenMod-7.1 for Nexus One

[ROM] NEXUS N1 Passion MIUI.us Presents MIUI Pure English [AOSP]

CM 7 ExtremeMod ROM by Ken Mood

Uninstall

- Normal reboots will boot from the phone's mtd partitions.

- This mod makes no changes to your phone's mtd partitions. Flashing a new recovery will uninstall the old one obviously.

- To remove installed boot options, navigate to multiboot->Delete existing boot option and pick you choice. Alternatively remove the boot option you want from /sdcard/clockworkmod/multiboot/

Disclaimer:

I can't be held responsible if this mod bricks your device / trashes your sdcard or makes it explode in your hands! Use it at your own risk!

​