Tuesday, January 19, 2010

Dual-booting Mer on Nokia N900

As of Mer 0.17testing10 we have an image that is fairly easy to try out on Nokia N900. This guide is for advanced users and there is NO WARRANTY. It might turn your N900 back into the crazy guy from this video or chew out your microSD, so be careful.

You will need:
* A microSD
* A SD/microSD card reader for your PC
* A Linux installation on your PC.
* A copy of a Mer rootfs for N900 (0.17testing10)
* A copy of the files in your /lib/firmware from your N900. This includes WiFi and Bluetooth firmware.
* PR1.0, PR1.0.1 or PR1.1 on your N900
* That you have installed fanoush's bootmenu (dpkg -i it and run 'Install bootmenu' application icon)

Instructions (must all be done as root):
* Partition your microSD to first partition being Linux and format it as ext3 using mkfs.ext3.
* Mount the ext3 partition on your PC, let's say in /mnt/mer.
* Make sure using 'mount' that your ext3 partition is -not- mounted 'nosuid' or 'nodev'
* cd /mnt/mer
* tar --numeric-owner -pzxf /full/path/to/
mer-armel-n900-rootfs-v0.17testing10.tar.gz
* cd lib/firmware
* cp in the files from /lib/firmware from your N900
* umount /mnt/mer
* Make a file "mer.item" in /etc/bootmenu.d on your N900, containing:

ITEM_NAME="Mer (external SD, partition 1)"
ITEM_ID="mer"
ITEM_DEVICE="${EXT_CARD}p1"
ITEM_MODULES="mbcache jbd ext3"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="noatime,ro"

* Reboot your device, have the keyboard slid out. A bootmenu will appear where you can select Mer with the cursor keys.
* Mer booting.. wait for touchscreen calibration step
* And then you can run through the first boot wizard
* And a non-accelerated Mer desktop appears.

What works:
* WiFi
* Touchscreen
* Charging
* Watchdog handling

Of closed source blobs used in Mer (for N900):
* DSME (open source) with libcal (closed source) running from the Maemo5.0 rootfs
* BME running from the Maemo5.0 rootfs
* Firmware files for WiFi and Bluetooth chip amongst others.

Either way, I hope you enjoy playing with an alternative OS on your N900. Feel free to report bugs at http://wiki.maemo.org/Mer/Releases/0.17 and talk to us on #mer on irc.freenode.net if you'd like to contribute to Mer.

To shut down Mer, either sudo reboot or pop the battery.

9 comments:

  1. When you say;

    PR1.0, PR1.0.1 or PR1.1 on your N900

    You mean one of the latest updates to the Maemo 5 OS, i.e. libosso? (Just trying to be explicit here.)

    ReplyDelete
  2. How big should the microSD be?

    ReplyDelete
  3. MicroSD: 2gb should do the trick.

    PR1.0, PR1.0.1 or PR1.1. Specifically, getbootstate (>= 1.0.35+0m5) i think.

    ReplyDelete
  4. Thanks for the instructions. I have mer running now. One thing: How do I get the key. The hardware one does not work. It just makes the virtual keyboard pop up. I am trying to submit the "sudo reboot" command...

    ReplyDelete
  5. Found it: CTRL-9 issues after "sudo reboot". Then comes the password question. Here CTRL-9 does not work, but instead CTRL-m works as .

    ReplyDelete
  6. * Mount the ext3 partition on your PC, let's say in /mnt/mer.
    * Make sure using 'mount' that your ext3 partition is -not- mounted

    Not getting this. Mounted or not mounted? I assume it MUST be mounted, or else copying the files to the 'mer' directorty just won't do anything at all, but it VERY explixitly says it should not be mounted.

    ReplyDelete
  7. Whole sentence is '* Make sure using 'mount' that your ext3 partition is -not- mounted 'nosuid' or 'nodev''

    ReplyDelete
  8. In case you don't have a card reader or a PC with a Linux installation around, you can do this installation completely on the N900 itself (after all, Maemo is a Linux distribution).
    You do need to use GNU tar in stead of the Busybox version in Maemo. You can get it the binary from the deb file inhere:
    http://repository.maemo.org/pool/fremantle/free/t/tar/
    BTW, it can be installed onto a 500Mb partition, but there will be barely any room left.

    ReplyDelete