Documentation/Maemo 5 Developer Guide/Packaging, Deploying and Distributing/Installing under opt and MyDocs

The N900 has about 100MB of free space in the root file system partition. This is not very much and would fill up quite quickly when installing additional applications. As a workaround, the /opt directory has been linked to a different partition with more space (about 1 GB) and /home/user/MyDocs is also available in certain cases, with even more space (about 25 GB). Developers are encouraged to make good use of them, specially for applications requiring more than 500KB, including dependencies.

/opt as a good alternative
The /opt directory is on an ext3 partition that is permanently mounted. Users cannot mess with it by accident. Of course, not everything needs to be moved to /opt: configuration files are best left in /etc, for example, and there is no point in moving small files like the various *.desktop and *.service files.

The maemo-optify tool helps developers to prepare Debian packages that use /opt. This tool moves selected files inside the package to locations under /opt, and will symbolically link from the original location to the new place of the file. An early version of the tool can be found at http://gitorious.org/maemo-af/maemo-optify - see the README file for details.

Considering /home/user/MyDocs
The /home/user/MyDocs directory is another candidate for large collections of data files included in applications such as game graphics or maps. Using /opt is mostly transparent to package maintainers and end-users, but /home/user/MyDocs needs more careful consideration.

The /home/user/MyDocs partition uses VFAT as its filesystem (which has some limitations compared to ext3) and it is removable: it will be unmounted and exported over USB when the user plugs in the cable. Also, /home/user/MyDocs is visible in the File manager. This all means:


 * You need to be aware that VFAT isn't really a POSIX filesystem. Things like symbolic links, permission bits, etc wont work as nicely as they do on a real POSIX filesystem.
 * You should be prepared that your files aren't there at all while the partition is unmounted. You should also not prevent the partition from being unmounted because you keep some of the files open.
 * User might see your files, could get confused and try to delete or rename them.

In summary, you can't really put programs, libraries or theme graphics into /home/user/MyDocs. Instead, use /opt for these.