Nokia N810

From ThorstensHome
Jump to: navigation, search

This article describes how to compile software for the ARM-based Nokia N810 tablet PC. We use mainly scratchbox on an Intel-based computer. Scratchbox is a cross-compiling environment.

Better see Also look at Xephyr.



Do not follow with the latest firmware or you will have to re-setup your device.


I do not know how to find out the firmware of the device, here is a hint:

Nokia-N810-43-7:~# cat /etc/*ersio*

Install wget

Make sure you have the latest firmware installed, this example is from 2009-12-28.

Get wget from

Install it using

dpkg -i wget_1.10.2-2osso3_armel.deb

Update the firmware

  • follow the instructions
  • re-connect to WLAN (password needed)
  • re-install openSSH
    • settings->application manager
    • tools -> application catalog
    • memo extras -> edit -> un-tag "disabled"
    • close
    • browse installable applications
    • all
    • openssh
    • install


Do not follow, it will install packages that are so old that you will have to flush your N810.

  • get linux kernel headers
  • get libgcc
  • install everything
dpkg -i gcc-3.4_3.4.4cs2005q3.2-5.osso8_armel.deb
  • do the usual test
Nokia-N810-43-7:~# cat main.c
#include <stdio.h>

int main()
{ printf("hello world"); }

Nokia-N810-43-7:~# gcc-3.4 -o greeter main.c
Nokia-N810-43-7:~# ./greeter
hello worldNokia-N810-43-7:~#

build Qt4

svn checkout
cd qt4-x11-4.4.0

clean up

  • remove mail client
apt-get remove modest
  • remove chat client
apt-get remove osso-chat-ui osso-chat-ui-l10n osso-chat-ui-l10n-mr0
  • remove clock
apt-get remove osso-clock osso-clock-applet osso-clock-data osso-clock-l10n osso-clock-l10n-mr0 osso-clock-ui osso-clock-widget osso-sounds-alarms
  • maemoblocks

What fails - what works


  • I cannot install scratchbox on x64 OS
    • it breaks and says it is not designed for this
  • I cannot install scratchbox on SLES 10
  • I cannot install scratchbox on SUSE 11.2
    • installation does not end with the wish "happy hacking" because of too many dpkg errors
  • I can install scratchbox on SUSE 11.1x32

try copying /scratcbox/devkits/qemu/bin/qemu-arm-sb from a fremantle installation to /scratchbox/devkits/cputransp/bin and configure your target configuration to use this => this fixed my compile of cmake !!!

[sbox-DIABLO_ARMEL: ~/cmake-2.6.2] > sb-conf show
Compiler: cs2005q3.2-glibc2.5-arm
Devkits: perl debian-etch maemo3-tools cputransp
CPU-transparency: /scratchbox/devkits/cputransp/bin/qemu-arm-cvs-m


the error msg is

make[2]: *** No rule to make target `Source/CMakeFiles/CMakeLib.dir/link.txt', needed by `Source/libCMakeLib.a'.  Stop.

Workaround: I took link.txt from another computer and copied it => cmake is installed on the N810

Solution: try copying /scratcbox/devkits/qemu/bin/qemu-arm-sb from a fremantle installation to /scratchbox/devkits/cputransp/bin and configure your target configuration to use this


  • cannot install kdesupport from 2009-12-30 into scratchbox, get
 Unknown CMake command "update_xdg_mimetypes".
 CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
 Please set them or make sure they are set and tested correctly in the CMake files:

update_xdg_mimetypes is a cmake macro provided by kdesupport/akonadi/cmake/modules/FindSharedMimeInfo.cmake. I took the macro and copied into CMakeLists.txt, then, when I reverted, I could not reproduce the error. Also check

update-mime-database -v
env | grep XDG
export XDG_DATA_DIRS=/usr/local/share
  • cannot install kdesupport, get a message that libboost is missing

See also