Saturday, October 30, 2010

Installing MeeGo on the Nokia N900

Installing the MeeGo Handset Image

These instructions will guide you through installing the root file system on an external Micro SD card, to be used with the Nokia N900 handset.


MeeGo is an open source project and if you choose to install the MeeGo image to your N900 device, you do it completely at your own risk. If you are not confident that you know what you are doing with it and why, please don't use it at all. Especially now, if you start playing with call software under development, you need to watch after your phone bill, as well.

These instructions will guide you through installing the root file system on an external Micro SD card, to be used with the Nokia N900 phone.

You will need:

* Nokia N900 phone and USB cable to connect it to the PC
* Micro SDHC card, with a preferred capacity of at least 2 GB and class 6 or higher
* MeeGo Handset Image for N900

Note: The Micro SDHC card will be erased during these steps, so you should not use a Micro SDHC card that contains information you may need.

MeeGo Handset Images for N900 consists of two parts:

* The meego-handset-armv7l-n900-{ID}-mmcblk0p.raw.bz2:
This file contains the rootfs with the Handset UX experience that is flashed to micro SD memorycard.
* The meego-handset-armv7l-n900-{ID}-vmlinuz-{ID}-n900:
This file is the kernel that is used to boot to the MeeGo Handset image.

To boot Nokia N900 with MeeGo Handset UX image, you must copy the rootfs image (*.raw) of your choice, to the Micro SDHC card.
Using Linux

Once you have downloaded your desired image from the download location, you will need to extract the compressed file.

$ bzip2 -d meego-handset-armv7l-n900-*-mmcblk0p.raw.bz2

This will uncompress the Handset Image to the current directory.

After inserting the Micro SDHC card into your card reader, you will need to determine the proper device designation for your card.

If your system does not auto recognize your Micro SDHC card, you can manually find it by executing fdisk.

$ sudo fdisk -l

Running the command above will result in an output similar to this:
Disk /dev/sdX: 3957 MB, 3957325824 bytes
194 heads, 30 sectors/track, 1328 cylinders
Units = cylinders of 5820 * 512 = 2979840 bytes
Disk identifier: 0x0001ace5

Device Boot Start End Blocks Id System
/dev/sdX1 1 588 1708984 83 Linux

In this example, the Micro SDHC card is referred as /dev/sdX.


* Not all systems will use /dev/sdX. Some systems may designate your card /dev/mmcbkY, as well.
* Do not use the partition indicated by the 1 in /dev/sdX1 in the above example. Use the device which would be /dev/sdX.

Once you have determined your Micro SDHC card, make sure that it is not mounted. To list the current mounts, use 'mount' command and use 'umount' command to unmount all the directories that refer to your Micro SDHC card. After you have made sure the Micro SDHC card is not mounted, run dd command, below, to copy the image file to your Micro SDHC card.
Note: Change the if= to point to the proper image and of= to your Micro SDHC device.
$ sudo dd bs=4096 if=meego-handset-armv7l-n900-*-mmcblk0p.raw of=/dev/sdX

Depending on image size and card speed, it can take dd up to 20 min to complete this operation. After this operation is ready, you should see output similar to this:
475136+1 records in
475136+1 records out
1946157057 bytes (1.9 GB) copied, 214.382 s, 9.1 MB/s

Now the image is in your Micro SDHC card and you can move to the "Booting MeeGo Handset Image" section.
Using Windows

To use Windows (XP, Vista, 7) to copy the image to your Micro SDHC card, you will need to make sure:

* You can unpackage the image file. To do this you will need a compression utility, like 7-Zip
* You have an image writer utility, like Win32DiskImager.exe

Using your preferred compression utility, extract the contents of the downloaded image. Once uncompressed, you will have a named directory containing the MeeGo Handset Images.

Once you have extracted and located the image you wish to install, use your preferred image writer to write the image to your Micro SD card. Here's an example of the process you may follow to use the W32DiskImager:

1. Run W32DiskImager.exe.
2. Select the desired MeeGo Handset Image.
3. Select the drive letter for your Micro SDHC card.
4. Click the "Write" button to start writing the MeeGo Handset Image to the Micro SDHC card.

Booting MeeGo Handset Image

To boot the image on Nokia N900, you need to get the flasher application from In the page, there are multiple different binaries for different Operating Systems (OS). Get the binary suitable for your own OS.

After downloading the suitable binaries, install/unpackage the package.

With the flasher, the kernel is loaded to the device, which means that the original Maemo kernel is returned when the device is powered off. Here are the steps to load the MeeGo kernel to the N900 device.

1. Remove the back cover and the battery from the device.
2. Insert the microsd memory card into the device.
3. Insert the battery into the device, but do not power on the N900 device.
4. Place back cover onto the device. If not present, the device will not detect the Micro SDHC card properly.
5. Start the flasher with the following command:


$ sudo flasher-3.5 -l -k meego-handset-armv7l-n900-*-vmlinuz-*-n900 -b


$ flasher-3.5.exe -l -k meego-handset-armv7l-n900-*-vmlinuz-*-n900 -b

* When the flasher is started, you should see following message:

flasher v2.5.2 (Oct 21 2009)
Suitable USB device not found, waiting.

* If you see the message shown in 6, then connect the N900 with USB cable to your PC and the flash should start automatically.

Message similar to
Found device RX-51, hardware revision 1801
NOLO version 1.4.14
Version of 'sw-release':
Sending kernel image (1564 kB)...
100% (1564 of 1564 kB, avg. 16638 kB/s)
Flashing kernel... done.

should be shown. After this process, the device should boot to the MeeGo Handset UX.


Post a Comment

Related Posts Plugin for WordPress, Blogger...