Skip to site navigation

Maemo/Nokia Internet Tablet

bleb.org > Software > Nokia/Maemo

The Nokia 770, N800 and N810 are "Internet Tablets" running Maemo: a handheld Linux distribution based on Debian.

770Flasher.app

Although there is a command line flasher available for Mac OS X from Maemo, there's no official GUI interface for it. This has been written using Platypus and CocoaDialog and is, of course, supplied with no warranty.

This is not affiliated with Nokia and so if your machine turns into a mongoose and starts dancing ballet, don't blame me. Or blame me, but don't complain - or, more importantly, sue.

Usage

Download the latest Nokia image (large file ending in .bin, for example Nokia_770_0.2005.45-8.bin) and either select this file when prompted by 770Flasher, or just drag the file on to the 770Flasher icon.

Screenshot

[Screenshot of 770Flasher.app]
770Flasher-2.0.dmg (Mac OS X disk image, 361K,
requires 10.3 or above)

tablet-encode (aka 770-encode)

770-encode has now been renamed tablet-encode and moved to a larger project called mediautils.

Due to the unreliability of garage.maemo.org, there is a mirror here:

tablet-encode.tar.gz (Perl tarball, v2.18, 14K)

mediaserv

mediaserv is a project which allows you to convert, on-the-fly, video from a Linux, Unix or Mac OS X box and watch it on your Nokia Internet Tablet. It even integrates with Video Center.

Like tablet-encode, this is part of mediautils.

Due to the unreliability of garage.maemo.org, there is a mirror here:

mediaserv.tar.gz (Perl tarball, v0.05, 29K)

mud-builder

MUD is an auto-builder, designed to make it easier for people to port, in a simple and maintainable fashion, software to Maemo; customising the resulting packages to Maemo's subtle requirements.

More info can be found on its Garage page.

Wikipedia

Wikipedia is an excellent online resource and tied with a network connection through a Nokia 770 is almost equivalent to the Hitchhiker's Guide to the Galaxy. Although not yet available offline for Maemo, it is possible to enhance Wikipedia to make it look better on the 770's screen.

The default skin contains a long left-hand column, however by creating an account with Wikipedia (which is free), you can change the "skin" to one more suited to a device such as the 770.

Default style

[Monobook CSS]

"MySkin" style

[MySkin CSS]

Usage

Backgrounds

[Preview of N800 background]

Under development

I've currently got the following under development. For each there is a short description and links to screenshots and photos. If you have any questions on them, please don't hesitate to contact me. Updates will be provided in my diary.

Better Maemo planet layout
I don't like the new Maemo Planet that much. I've developed a user style for Firefox to turn it into this.
ArcEm
Acorn Archimedes emulator, allowing RISC OS to be run on an ARM device in your pocket. [1], [2], [photo 1], [photo 2].
NetSurf
A lightweight open source web browser, for when Opera is deciding to be tempremental. [1], [2], [3], [photo].
Galculator
A scientific calculator. No screenshots available, but a straight-forward port of a Glade application.
Java
Following on from Alexander Lash's work porting JamVM/Classpath/Jikes to Maemo, I've some thoughts on auto-Hildonisation of Java applications which could help make Java a suitable high-level language for Maemo application development.

Older stuff

Sylpheed

Sylpheed is a full-featured email client: supporting POP3, IMAP, SSL and everything else you'd expect. The full feature list can be seen at the Sylpheed homepage.

This is a port and Hildonisation of Sylpheed to integrate it as a proper Maemo application. It's not finished, and so should be viewed as an alpha-release. You may be better off using Claws or (even better, hopefully) Modest.

Known bugs

Limitations

Screenshots

[Screenshot of main Sylpheed window on Nokia 770] [Screenshot of Sylpheed compose window on Nokia 770]
sylpheed.deb (Maemo v2 package, v2.2.0rc-3, 511K)

Rebuilding from source

If the binary above whets your appetite for Maemo development, and you want to help with this port, the Maemo port is being maintained in a Subversion repository.

http://badger.bleb.org/svn/bleb/subversion/trunk/

Username/password: guest/guest. [Browse the source]

Synchronisation and backup using rsync & make

Please note this has not been updated for 2006 OS, instead I prefer bind-mounts, however it is easily customisable.

The built-in backup/restore tool doesn't backup all your device's configuration or installed applications. This script (a Makefile) meets those requirements and allows for maintaining patched parts of the root filesystem across firmware upgrades.

Usage

Requires rsync and SSH (on both 770 & host computer) and make on the host.

To "install" the script:

  1. Create a new, empty directory, on a Unix-like box (e.g. Mac OS X, Linux, *BSD, Windows with cygwin) and ensure you have rsync, make and SSH installed.
  2. Download Makefile.770sync and move it to the new directory, named Makefile.
  3. Modify the line beginning REMOTE_DEVICE to point to your 770. For example, my 770 has a fixed IP, I have root access on it (by enabling R&D mode) and Dropbear is running on port 22 (the default), therefore the line in my local copy says:
    REMOTE_DEVICE=root@192.168.1.6:/

There are three "targets" which can be executed to act on your device. To execute them, run the following command:

make target
push
Push changes in the local copy to the remote device. This is effectively a restore from a backup, if pull has been previously run.
pull
Pull changes from the remote device to your local copy. Effectively performing a backup.
bootstrap
Similar to push but doesn't use rsync. This is useful when your device has just been reflashed and is missing any software. By just installing and starting SSH, this target can be used to restore your documents, changes and applications (such as rsync). An article on dillernet.com, Recovering From A Firmware Flash, has some techniques which may also help in this regard (specifically scripts to install the needed packages & SSH keys from the MMC card).

Since bootstrap will generally be required when reflashing and before SSH is running as root; SSH may well be listening on port 2222 (if started by an unprivileged user), rather than port 22. Therefore, you can override the REMOTE_DEVICE variable:

make REMOTE_DEVICE=user@192.168.1.6:2222/ bootstrap

Note: in this example, as the SSH server was started as a normal user, it would not be possible to restore symlinks in /etc.

Example

One common requirement when SSH is installed is starting it automatically when your device is turned on. This is easily done by creating a symlink, as described in the InstallSsh document in the wiki.

Unfortunately, when you reflash your device, this symlink will be lost. However, by using the script you can ensure that this (and similar changes) are put back on the device when you restore:

$ mkdir ~/770-sync
$ cd ~/770-sync
$ wget http://bleb.org/software/maemo/Makefile.770sync
$ mv Makefile.770sync Makefile
$ mkdir -p etc/rc2.d
$ ln -s /var/lib/install/etc/init.d/dropbear-server etc/rc2.d/S99dropbear-server
$ make push

As you can see, the local 770-sync directory contains a copy of any changes you've made to the file system. In addition, the user's home directory, the configuration and the installed applications are pulled back on a pull operation.

Makefile (Makefile, 2.8K)

Citrix ICA client

The below screenshots show that the Citrix ARM Linux client can be got to run on a Nokia 770, although it is currently much use: the virtual keyboard is tied to onboard GTK+ applications. A USB keyboard, or a Bluetooth keyboard using kbdd should work, however.

[Screenshot of
ICA client started]  
[Screenshot
of ICA client displaying logon window]

The Citrix install file won't work with busybox's "expr" implementation and without "cpio". The application itself requires a few extra debs (which fortunately Debian/ARM can provide):

Unfortunately, with the advent of 2006 OS and the use of EABI, older ARM Linux binaries will no longer work on the 770 without recompilation. Therefore, unless Citrix recompile and provide new binaries, or an open source client is made available, Citrix is not easily possible on a modern Maemo device.

vim/rsync

These ports were for the 2005 OS, and have now been removed. mud-builder is a project which aims to simplify simple ports like these in future.