In the Spirit of Open Source and Hacking and all things would you want Android running on your Nokia N9 ? Well if you did then NITDroid an Alpha release of ICS (Ice Cream Sandwich) v4.0.3 has been released which allows you to dual boot between MeeGo Harmattan and Android on the Nokia N9 !

Things expected to work:

  • dualboot kernel (without reflashing), ability to choose OS after power on.
  • 3D drivers, OpenGL
  • hwrotation (portrait mode only, accelerometer HAL doesn’t work)
  • touchscreen (multitouch)
  • hw buttons (volume, power)
  • ECI accessory (headset buttons)
  • USB networking
  • lcd off in sleep mode
  • alarm driver, RTC
  • mounting MyDocs as “SDCard” [realized; NOT FIXED, but HACK EXISTS]
  • basic video decoding (sw) and playback, youtube (choppy)
  • basic CellMo functionality: network registration, USSD, SMS, data (GPRS/EDGE/3G), signaling. Actually, ofono/ofono-ril stack is used: all things that it able to do on the n900.
  • bluetooth (scanning, can pair devices. I didn’t test deeper).
  • charging (note: without any notification in UI)
  • sensors: accelerometer
  • audio: playback (audio routing to: loudspeaker, headset or earpiece)
  • lights HAL (lcd brightness)
  • root access (via adb shell; su/Superuser.apk)



The same as:

Installation HOWTO:

1. Install dual-boot kernel as described here:

2. Install sillyboot. Details:

3. Are you ready for NIT? ДА или НЕТ?!?

a. Download tarball from here: , check its integrity, md5 sum for this archive is ee57d8c3b9199e87bb5c355e8c9d1cc3
b. copy the archive to your Nokia N9.

c. execute “as root” command:

Code: [Select]

tar xjvf /path_to_archive/nninedroid_ics_alpha1.tar.bz2 -C /home/
4. Reboot, push “Volume Up” button when message “Press VolUp to boot alternative OS” appear . Wait a little, pray a little…

First of all: go to Settings->Display->Sleep, choose “30 minutes”. Critical defect (“too deep sleep to ping watchdogs”) is yet to be fixed.
Don’t let your device sleep. Otherwise it could die:)


5. Usefull stuff:
get adb from Android SDK (

Commands that would make your life easier:
adb connect — connect to your device. USB/ADB is broken, but ADB works well over USB networking.
adb logcat — for reading “main” log
adb logcat -b radio — for reading “radio” log
adb shell — to enter to shell
adb pull/push — allow get/put file from/to the device
adb shell rr — “restart radio” — restarts ofono and RIL
adb shell bb — show battery/charging status


Warning: If you are not confident in what you are doing then please do not try the above. Also refer to to updates to these instructions.

Source YouTube