This is my page dedicated to the Maemo platform and Nokia Internet tablets. I've owned a Nokia N810 since January 2008.
In addition to the 256-MB internal memory (root file system of type JFFS2, thus compressed), the N810 has a 2-GB internal memory card. With the current N810, the partition of this card is incorrect! (Other details in this discussion and that one.) Consequence: early or late, the file system of this card will get corrupt and you are likely to lose the files stored on it (even if the card is not full). The solution: back up the files present on this card elsewhere and repartition it.
The original partition of this card is in the VFAT format, which has several limitations: in particular, the execution bit is not supported (moreover, by default, the card is mounted in such a way that one cannot execute programs stored on it), and symbolic links are not supported either. So, it is the occasion to put an ext3 partition; I did not do it before as there is a risk to destroy the card (it happens to me a few years ago), but repartitioning the card is necessary anyway. I think it is possible to put a single ext3 partition; I did not test this. I have chosen the following solution: a 1-GB partition in VFAT and a 1-GB partition in ext3. See the details of the repartitioning procedure.
Alternative solution for VFAT and executables (this was what I had done before repartitioning the card): it is possible to declare all the files as executable. This raises a number of problems (including security ones), but with a bit care, this solution is acceptable. The mount command indicates that the noexec option is used; thus I first looked at the /etc/fstab file, then did a recursive grep on the /etc directory, but got no trace of noexec for the internal card. I finally found the solution by doing a search on Google, which sent me to this discussion: the file to modify is /usr/sbin/mmc-mount (this is a shell script). There are two things to do: remove the noexec option and change the fmask value from 0133 to 022 (fmask explanations).
The MPFR library can be compiled directly on the N810 (OS2008) after the installation of the gcc package and of the GMP library. In addition to the standard install instructions, note the following points.
Do not get one of the tar archives: the tar command from BusyBox 1.6.1 (provided by OS2008) is broken and will give you an error on the MPFR tar archives. You can get the zip archive instead (you will need the unzip command, provided by the unzip package).
Alternatively, you can compile and install GNU tar first, which does not have any problem.
The MPFR configure script (which was generated by autoconf) uses the diff command, which isn't available in OS2008, and I couldn't find a package providing it. A solution is to replace diff by cmp with this configure patch (for MPFR 2.3.1) or with the following command, before running configure:
sed -i -e 's/diff /cmp /' configure
To know which locales installed on the tablet provide a date in the ISO-8601 format (of the form YYYY-MM-DD), type or copy-paste the following lines in a shell (e.g., by running the terminal):
for i in `locale -a` do printf "%-5s %s\n" $i "`LC_TIME=$i date +%x`" done
Since some forms of the date can also contain words (for the weekday and the month), you should choose a locale in the configured language. Unfortunately, such a locale with ISO-8601 date is generally not provided. For English, there would be en_DK, but it is not available on my N810. For French, fr_CA can be used! This is what I have chosen. Then edit the file /etc/osso-af-init/locale (as root) to add a line defining LC_TIME with the chosen locale. For instance, on my N810, this file now contains:
#!/bin/sh export LANG=fr_FR export LC_TIME=fr_CA export LC_MESSAGES=fr_FR
Then reboot the tablet.
Various links about the Nokia N810:
Videos on YouTube, in particular an overview and a Wayfinder GPS demonstration (this navigation software isn't provided with the N810 and must be purchased separately, or you can use the free software Maemo Mapper).
OS2008, to download software.