The Maemo Record

Running MeeGo on the Nokia N900

MeeGo on the N900

PACKAGEmeego n900
SECTIONwhat came after
IN THE LINEouter: what surrounds it
ANSWERSmeego build n900
ARCHIVED LINKS3 old article addresses point here
A package-style metadata block listing meeGo on the N900: label on the left, value on the right.

MeeGo builds for the Nokia N900 existed from 2010 onward, first as community images and then as an official developer image shipped alongside MeeGo 1.0 in May 2010, and they booted from a microSD card so that the Maemo 5 installation on the device’s internal storage was left untouched.

The first MeeGo builds for the N900

The first MeeGo builds for the N900 followed the merger announcement of February 2010 by a matter of weeks, and they came from two directions at once. Community developers were assembling bootable images from the public MeeGo trees almost immediately, because the source and the build system were open and the N900 was the only ARM handset anyone in the project actually owned in quantity. The project itself then designated the N900 as its reference handset, and the MeeGo 1.0 release in May 2010 shipped an N900 developer image alongside the netbook images built for Intel Atom.

Calling that first build a handset release overstates it. MeeGo 1.0 for the N900 was a developer image with no handset user interface at all; the handset user experience appeared only as a preview with MeeGo 1.1 in October 2010, and was refreshed again in 1.2 in May 2011. Anyone who wrote the first image expecting a phone found a Linux system with a screen.

How booting from microSD protected the Maemo install

Booting from microSD protected the Maemo install because the N900 could be persuaded to look at the card before it looked at its own internal storage. The device shipped with Maemo 5 on 32 GB of internal eMMC, and nothing in the standard MeeGo procedure wrote to that. Instead the procedure did two things: it added an alternative bootloader entry under Maemo 5 so the device offered a boot menu at power on, and it wrote the MeeGo image to a microSD card inserted under the back cover.

The practical consequence is the reason this port has a reputation for being safe to try. Removing the card, or picking the other entry at the boot menu, returned the device to Maemo 5 exactly as it had been, with the same applications, the same repositories and the same data. No reflash was needed, and no reset. A user could run MeeGo in the evening and go back to a working phone in the morning.

This site is an independent reference and distributes nothing. It hosts no MeeGo images, no Maemo firmware and no repackaged applications, and it does not link to places that do. That these builds existed is a matter of public record; the binaries are not ours to hand out.

What worked on the N900 and what did not

What worked on the N900 under MeeGo was the part of a phone that is not a phone. The kernel booted, the display drove at its native 800×480, the touchscreen responded, the hardware keyboard registered, networking over Wi-Fi came up and a terminal gave a normal Linux system underneath. What did not work was the cellular side. Voice calling and messaging were absent or unreliable in the early N900 images, and hardware such as the camera and the accelerometer came up piecemeal across the releases rather than all at once.

Power management was the other persistent gap. The N900’s BL-5J battery is a 1320 mAh cell, which Maemo 5 managed with a considerable amount of Nokia-specific tuning that the MeeGo images did not inherit wholesale, so idle drain on MeeGo was markedly worse than on the stock system. Combined with the missing telephony, that put the port firmly in the category of thing you boot to see, not thing you carry.

The hardware the builds were running on

The hardware was a 2009 device by the time MeeGo reached it. The Nokia N900 was announced in August 2009 and went on sale from November 2009, built around a Texas Instruments OMAP 3430 with a 600 MHz ARM Cortex-A8 core, 256 MB of RAM backed by 768 MB of swap on the internal storage, a 3.5in resistive touchscreen at 800×480, a slide-out three-row hardware keyboard and a 5 megapixel camera with Carl Zeiss optics. Its microSD slot is what made the MeeGo experiment possible in the first place.

Two constraints from that specification shaped the port. The 256 MB of RAM was tight for a stack that had also been designed with Atom netbooks in mind, where a gigabyte was ordinary. And the resistive screen expected a fingernail or a stylus, while the MeeGo handset interface was being designed for the capacitive multi-touch panels that the next generation of hardware would carry.

The N900 next to the N97 and the N8

The N900 next to the N97 and the N8 shows why Nokia was running two software lines at once. All three were flagship devices sold within about fifteen months of each other, and only one of them ran Linux.

DeviceOn sale fromOperating systemDisplayNotable
Nokia N97June 2009Symbian S60 5th Edition3.5in resistive, 640×360Tilting slide-out keyboard, 128 MB RAM
Nokia N900November 2009Maemo 5, later community builds3.5in resistive, 800×480Debian-based Linux, root terminal, microSD boot
Nokia N8October 2010Symbian^33.5in AMOLED capacitive, 640×36012 megapixel camera with xenon flash, HDMI out

The N900 is the only one of the three that a second operating system was ever seriously ported to, and the reason is structural rather than sentimental: it shipped with an open bootloader path, published hardware adaptation code and a package manager the owner controlled. The Symbian devices offered none of that.

Why the N900 port stayed a demonstration

The N900 port stayed a demonstration because nobody with the resources to finish it had a reason to. Nokia’s attention moved to the next hardware generation, where the handset interface work was actually going, and then in February 2011 to Windows Phone. The community that kept the N900 alive after Nokia’s last Maemo 5 firmware update in October 2010 concentrated on the Community SSU, which improved the system people were already running, rather than on completing a parallel system that lacked telephony.

That leaves the N900 MeeGo images as an honest artefact rather than a lost opportunity. The lineage continued elsewhere: the MeeGo core was forked as Mer, engineers who left Nokia founded Jolla, and Sailfish OS is the version of this stack that is still developed and still shipping. The N900 builds are where that stack was first shown running on a phone somebody owned.

Where to go next