ALWAYS CREATE A BACKUP BEFORE TINKERING WITH YOUR N900
ON-Device - Getting Started
WARNING: Accoring to this post, installing packages from the SDK repository to your device might cripple the root fs and force you to reflash it. Anyway, the maemo scratchbox environment is awful and for small builds it is more convient to build directly on the device. Packages mentoned in this guide don't seem to cause serious problem.
Add tools and sdk to /etc/apt/sources.list
# TOOLS deb http://repository.maemo.org/ fremantle/tools free deb-src http://repository.maemo.org/ fremantle/tools free # SDK deb http://repository.maemo.org/ fremantle/sdk free deb-src http://repository.maemo.org/ fremantle/sdk free
Update apt cache:
Install build tools
apt-get install bzip2 cpio cpp dpkg-dev g++ g++-4.2 gcc \ libc6-dev libstdc++6-4.2-dev libstdc++6-4.2-dbg patch \ perl perl-modules autoconf automake1.9 libtool flex bison \ gdb diffutils-gnu
On default setups it will fail because of apt-get saving temporary files on the root partition.Just clean the apt cache (
apt-get clean) and repeat the above command.
Fix scratchbox hacks
The tools from the SDK and TOOLS repository are meant for scratchbox and have been altered to use scratchbox paths. Instead of rewriting paths you can fake scratchbox directory structure.
mkdir -p /scratchbox/tools/ ln -s /usr/bin /scratchbox/tools/bin
linking bin seems to be enough.
Using strace on the phone
a version of strace cross-compiled for arm or x86 comes with the scratchbox sdk (and perhaps others). Scp over to use on phone:
scp /scratchbox/device_tools/strace-4.5.19/cs2007q3-glibc2.5-arm7/bin/strace root@<n900_ip>:/usr/bin/.