User:Caze

Here I will note some things concerning diverse stuff around maemo on n900 that might come in handy later for me. Or maybe for you.

Contents

root

to gain root superuser privileges, which you need e.g. for manual package installation etc, install rootsh, in xTerminal type:

root

partitions

the N900 filesystem is, to my liking, inconveniently set up.

as root:

sfdisk -l
cat /etc/fstab 

informs you that you have

Device               Boot   Start     End      #cyls #blocks   Id  System
/dev/mmcblk0p1          1  884864  884864   28315648    c      W95 FAT32 (LBA)
/dev/mmcblk0p2     884865  950400   65536    2097152   83      Linux
/dev/mmcblk0p3     950401  974976   24576     786432   82      Linux swap / Solaris
/dev/mmcblk0p4          0       -       0          0    0      Empty

mounted as

rootfs / rootfs defaults,errors=remount-ro,noatime 0 0
/dev/mmcblk0p1 /home/user/MyDocs vfat noauto,nodev,noexec,nosuid,noatime,nodiratime,utf8,uid=29999,shortname=mixed,dmask=000,fmask=0133,rodir 0 0
/dev/mmcblk0p2 /home ext3 rw,noatime,errors=continue,commit=1,data=writeback 0 0
/dev/mmcblk0p3 none swap sw 0 0

thus, you can only run binaries and scripts if they are in root (227mb; physically, they are on a 256MB OneNAND chip) or in /home (2gb) and not in /home/user/MyDocs (28gb)! (Physically, the latter plus the swap partition reside in a 32GB EMMC, which is capable of about a third the reading speed of the OneNAND.)

optification

Several apps in maemo extra devel repository will install to rootfs, where you have only 227mb. Nice apps (and system components) don't behave like that, they install to /home/opt and are called "optified" when having learned to behave well like that, or are just forced out and merely symbolically linked to their original place.

rootfs size problems

The filesystem rootfs, mounted in /, is a speciel partition of 227,8 mb containing some preinstalled programs, global configuration info and data. Some apps from "maemo extra devel" will also install there. A notable example is Abiword, which, sadly being unoptified yet, currently uses up 10mb on rootfs. You can check how much space is consumed totally by entering "df -h" in xTerminal (usually the first line of output).

Even better, use storageuse, which shows a red circle and via "Scan Packages" function shows also which apps use what, where rootfs usage is in red. When you come close to 100%, a lot of mischief can happen, e.g., you may get "write error - write (28 no space left on device)" when trying to access extras devel in Program Manager.

How to free space? When you reflash, rootfs will be reset also (of course). But you would rather try the methods suggested in Free up rootfs space, e.g., having rootsh installed, in xTerminal:

root
apt-get clean
apt-get autoclean

There is also a nice script by User:Tanner (see also another one, and a more radical repartitioning method), which i have modified to include some more directories:

#!/bin/sh
# N900 script to safely free space on rootfs
# (c) 2010 by Thomas Tanner <tanner@maemory.com>, modified by Caze (http://wiki.maemo.org/User:Caze)
# licensed under GPLv3
# move root stuff to /home
dirs="usr/share/icons usr/share/nokia-maps usr/share/pixmaps usr/share/hildon-welcome usr/share/themes usr/share/fonts usr/share/locale usr/lib/locale var/lib/apt"
#optional: var/lib/dpkg
if test -d /home/var/cache/apt; then
  # keep existing apt cache
  rm -rf /var/cache/apt
  ln -s /home/var/cache/apt /var/cache/apt
else
  dirs="$dirs var/cache/apt"
fi
(cd / && du -sc $dirs)
for d in $dirs; do
    test -L /$d && continue
    echo moving /$d
    rm -rf /home/$d
    mkdir -p /home/$d
    cp -a /$d /home/$d/..
    rm -rf /$d
    ln -s /home/$d /$d
done

i suggest you copy this to in some texteditor on your pc, save it, copy it to n900 connected via usb (don't save on fat partition on sd card but on ext3 partition somewhere else), disconnect, having installed rootsh, start xTerminal on n900, cd to where you saved the script,

root
chmod +x thisscript.sh
./thisscript.sh

install further apps

you can put the Application Manager in a mode that supports "Install from file", which is, for trivial reasons, called "Red Pill" mode. It is activated by selecting "Application catalogues" from the drop-down menu, tapping "New", entering "matrix" as URL, tapping outside the focus window, selecting "Red".

this does no more than

dpkg -i thusandso.deb

but might be a bit faster when you just have no xterm open. note it does not check package dependencies, as opposed to

apt-get install thusandso

remote desktop

ssh, telnet, vnc (multiple alternatives) and rdesktop (for w2k/nt) work (among others, i suppose). also, logmein should.

java

n900 comes with ThumbEE, a proprietary java optimizer (general JIT, not JVM-specific), a successor of Jazelle which came with N770, N800 and N810. You can have Sun Java SE (for applets, not J2ME, which is what mobile phone games etc in .jar files use) from Easy Debian. for J2ME over J2SE, use MicroEmulator. You could also apt-get netbeans from debian/lenny. See also [1], [2] and [3].

android

you should be able to install nitroid. or wait for vmware on n900?

(older) mac emulation

basilisk II should work.

amiga emulation

is work in progress.

tracker

the media on your phone is automatically catalogued by a tracker daemon called trackerd. it is configured by /home/user/.config/tracker/tracker.cfg . applications like the media player use the information tracker collects. you can change the paths that are searched by manually editing this cfg file, e.g. to include subfolders on your microsd card (mounted as /media/mmc1) or to exclude stuff you want to keep a bit more private. you could use e.g. vi or leafpad for the editing of this file or use tracker-cfg in extras-devel. to restart tracker:

tracker-processes -r
/usr/lib/tracker/trackerd &

shortcuts

there are several N900_shortcuts_and_gestures. note also, in the form of context - action - result:

  • anywhere - double press power button - lock
  • anywhere - ctrl+backspace - task switcher
  • menu/multitasing shortcut/icon - long press - back to desktop
  • text input - double tap ctrl - hold upper case
  • text input - double tap function key - hold numerics input
  • text input - ctrl+shift+p - screenshot
  • text input - ctrl + x/c/c - cut/copy/paste
  • anywhere - turn phone - open phone (must be activated in phone menu: turning control)