Maemo

From openSUSE

(Difference between revisions)
Revision as of 14:20, 16 November 2007
Thoenig (Talk | contribs)
Installation
� Previous diff
Revision as of 16:38, 14 January 2008
Thoenig (Talk | contribs)
APT Cheat Sheet
Next diff →
Line 79: Line 79:
; dpkg -L <package>: List the files belonging to a package. ; dpkg -L <package>: List the files belonging to a package.
; dpkg -S <filename>: Find packages containing a file. ; dpkg -S <filename>: Find packages containing a file.
 +; dpkg-query -W --showformat='${Installed-Size;10}\t${Package}\n' | sort -k1,1n: List packages by size (reverse)
== Misc == == Misc ==

Revision as of 16:38, 14 January 2008

Maemo is a Linux-based development platform for handheld devices. It is used by the Nokia 770 Internet Tablet, and its successors, the Nokia N800 and N810.

This page gives an overview on how to use and develop Maemo software on the openSUSE platform.

Contents

Installing the Maemo SDK

OS2008 (Maemo 4.0 Codename "Chinook") Supported devices: Nokia N800 and Nokia N810

Nokia has published detailed installation instructions for the Maemo 4.0 Chinook SDK. The SDK basically consists of two parts

  • Scratchbox Environment
  • Maemo 4.0 SDK

Installation

Just launch a terminal, become root and run install-maemo-sdk-4.0.sh. Example:

user@zimtstern:~> su - root
root@zimtern:~> wget --quiet http://www.nouse.net/install-maemo-sdk-4.0.sh; sh install-maemo-sdk-4.0.sh user

The script will install everything automatically. Make sure to replace the parameter user with your own login.

Running the SDK

Make sure that you have the package xorg-x11-server-extra installed on your openSUSE system. This package contains the Xephyr X server (similar to Xnest, but supports newer X extensions).

In your X session start Xephyr:

Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac

Now open a terminal, and "start" the scratchbox (with root privileges):

sudo /scratchbox/sbin/sbox_ctl start

After that, run the following command as regular user:

/scratchbox/login

If this is done, please run the following within the scratchbox environment:

export DISPLAY=:2
af-sb-init.sh start

Watch Xephyr, it now should show the running Maemo.

Creating Maemo packages on openSUSE

First steps

Once inside scratchbox, you have to build targets available. CHINOOK_X86 and CHINOOK_ARMEL. Switch targets with 'sb-conf select <target>. Additionally, you have most of the well known development tools like cvs or subversion available. Just checkout, compile, adjust and build:

$ dpkg-buildpackage -rfakeroot

You can even edit files from outside your scratchbox, so that you can use your favourite editor. The home directory inside scratchbox can be found at /scratchbox/users/<user>/home/<user> from outside.

Debian specific tools

dput
dput is needed to upload packages to a debian repository. It is broadminded provided by the openSUSE Buildservice
debsign
Used to sign packages before uploading. It is included in the devscripts debian package. Just download the tarball containing debsign and copy it to your favourite place (e.g. ~/bin/debsign). It can be used without dependencies.

Project Ideas

Running openSUSE on the N800/N810

Would this be feasible and sensible?

APT Cheat Sheet

It's no wonder that some openSUSE developers might not be familiar with apt-get and related tools. So here's a small Cheat Sheet to give you a starting point about the most frequent used commands.

/etc/apt/sources.list
File listing the installation repositories. A list of available repositories can be found here.
apt-get update
Update the package database. Similar to smart update
apt-get install <package>
Install a package. Similar to smart install <name>
apt-cache search <name>
Search for packages by name. Similar to smart search <name>
dpkg -L <package>
List the files belonging to a package.
dpkg -S <filename>
Find packages containing a file.
dpkg-query -W --showformat='${Installed-Size;10}\t${Package}\n' | sort -k1,1n
List packages by size (reverse)

Misc