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
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:
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:
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
"MySkin" style
Usage
- Create an account on Wikipedia.
- Go to the URL, http://en.wikipedia.org/wiki/User:YourUserName/myskin.css.
- Paste the code below into the text area and
click Save:
/* <pre><nowiki>*/
@import url("http://www.bleb.org/software/maemo/wikipedia/myskin.css");
/* </nowiki></pre> */ - Go to your Preferences page and select the Skin category.
- Select MySkin and click Save.
Backgrounds
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
Not all windows are Hildonised yet (that is, many have menubars rather than pop-up menus, and so on).- Fix dependencies on N800 to avoid start-up problem (see this solution in the mean time).
- Full-screen button doesn't work.
- Some windows appear too small, others too big.
- Select from middle of direction pad should open message in proper view window.
- Problems with (some?) LDAP servers.
- ...
Limitations
- No GPG support as yet.
- Address book functionality removed due to a bug.
- Built-in FAQ, manual and support for non-English languages removed for space reasons.
Screenshots
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:
- 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.
- Download Makefile.770sync and move it to the new directory, named Makefile.
- 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.
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.
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):
- libxaw6_4.3.0.dfsg.1-14sarge1_arm.deb
- libxmu6_4.3.0.dfsg.1-14sarge1_arm.deb
- libxp6_4.3.0.dfsg.1-14sarge1_arm.deb
- libxpm4_4.3.0.dfsg.1-14sarge1_arm.deb
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.